diff --git a/.github/workflows/dockcross.yml b/.github/workflows/dockcross.yml new file mode 100644 index 0000000..08d82d1 --- /dev/null +++ b/.github/workflows/dockcross.yml @@ -0,0 +1,82 @@ +name: Dockcross + +on: + push: + branches: + - "*" + paths-ignore: + - "**/README.md" + pull_request: + branches: + - "*" + +jobs: + image: + name: "Build ${{ matrix.image_name }} ${{ matrix.build_type }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + # Remove images that you do not need + image_name: + [ + android-arm, + android-arm64, + android-x86, + android-x86_64, + linux-x86, + linux-x64, + linux-x64-clang, + linux-arm64, + linux-arm64-musl, + linux-arm64-full, + linux-armv5, + linux-armv5-musl, + linux-m68k-uclibc, + linux-s390x, + linux-x64-tinycc, + linux-armv6, + linux-armv6-lts, + linux-armv6-musl, + linux-armv7l-musl, + linux-armv7, + linux-armv7a, + linux-x86_64-full, + linux-mips, + linux-ppc64le, + linux-riscv64, + linux-riscv32, + linux-xtensa-uclibc, + windows-static-x86, + windows-static-x64, + windows-static-x64-posix, + windows-armv7, + windows-shared-x86, + windows-shared-x64, + windows-shared-x64-posix, + windows-arm64, + manylinux2014-x64, + manylinux2014-x86, + manylinux2014-aarch64, + web-wasm, + ] + # Disable MinSizeRel RelWithDebInfo Debug Release + build_type: [Debug] + steps: + - name: "Checkout Code" + uses: actions/checkout@v2 + with: + submodules: "recursive" + fetch-depth: 0 + - name: "Pull ${{ matrix.image_name }}..." + run: docker pull dockcross/${{ matrix.image_name }} + - name: "Make script" + run: docker run --rm dockcross/${{ matrix.image_name }} > ./dockcross-${{ matrix.image_name }} + - name: "Config CMakefile" + run: cmake -B dockcross-${{ matrix.image_name }} -S . -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} + - name: "Build" + run: ninja -C dockcross-${{ matrix.image_name }} + - name: "Test" + run: | + cd dockcross-${{ matrix.image_name }} + ctest --build-config ${{ matrix.build_type }}