dockcross/.github/workflows/main.yml
Bensuperpc 27fe4eaee6 Improve github action
Trigger workflow on every branch (It will be easier to test with different branches before making a pull request)
Add dependabot, check if github action have update and make PR, if there is one
Add FUNDING
Add Close Stale Issues, closes issues and PR after 75 days if doesn't have activity

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-29 23:04:25 +02:00

62 lines
2.0 KiB
YAML

name: Dockcross CI
on:
push:
branches:
- '*'
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
- name: deploy
if: github.ref == 'refs/heads/master'
run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/base --all-tags
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-x64-clang, linux-s390x, linux-x64, linux-x86, linux-mips, linux-ppc64le, 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 == 'refs/heads/master'
run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/${{ matrix.arch_name }} --all-tags