From 70e2b6c449862f467886bfa00c6d2755aa262d4d Mon Sep 17 00:00:00 2001 From: Jonas Vautherin Date: Fri, 29 Jan 2021 19:56:13 +0100 Subject: [PATCH] Create github CI equivalent to current circle CI --- .github/workflows/main.yml | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..cdcbe7b --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,56 @@ +name: Dockcross CI + +on: + push: + branches: + - 'master' + pull_request: + branches: + - '*' + +jobs: + base: + name: base + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - name: build + run: make base + - name: test + run: make base.test + - name: archive base + run: | + mkdir -p cache + docker save -o ./cache/base.tar dockcross/base:latest + - name: save base + uses: actions/upload-artifact@v2 + with: + name: cache + path: ./cache + retention-days: 1 + + image: + name: ${{ matrix.arch_name }} + needs: base + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl, linux-armv6, linux-armv6-musl, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-s390x, linux-x64, linux-x86, manylinux1-x64, manylinux1-x86, manylinux2010-x64, manylinux2010-x86, manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86] + steps: + - uses: actions/checkout@v2 + - uses: actions/download-artifact@v2 + with: + name: cache + path: ./cache + - name: load base + run: docker load -i ./cache/base.tar + - name: build + run: make ${{ matrix.arch_name }} + - name: test + run: make ${{ matrix.arch_name }}.test + - name: deploy + if: github.ref == 'master' + run: | + docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} + docker image push dockcross/${{ matrix.arch_name }}