From 380126afd0300543bb519472bce3ca43a3a18e4f Mon Sep 17 00:00:00 2001 From: zonyitoo Date: Sat, 8 Aug 2020 02:00:51 +0800 Subject: [PATCH] Cross builds with matrix to start multiple jobs --- .github/workflows/build-release.yml | 61 +++++++---------------------- 1 file changed, 15 insertions(+), 46 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 81791763..8f74b4f2 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -8,62 +8,31 @@ env: CARGO_TERM_COLOR: always jobs: - build-docker: + build-cross: runs-on: ubuntu-latest + strategy: + matrix: + target: + - x86_64-pc-windows-gnu + - x86_64-unknown-linux-musl + - x86_64-unknown-linux-gnu + - arm-unknown-linux-gnueabihf + - aarch64-unknown-linux-gnu + - mips-unknown-linux-musl + - mipsel-unknown-linux-musl + steps: - uses: actions/checkout@v2 - name: Install cross run: cargo install cross - - name: Build x86_64-pc-windows-gnu + - name: Build ${{ matrix.target }} timeout-minutes: 120 run: | cd build - docker build -t shadowsocks-rust:x86_64-pc-windows-gnu -f Dockerfile.x86_64-pc-windows-gnu . - ./build-release -t shadowsocks-rust:x86_64-pc-windows-gnu - - - name: Build x86_64-unknown-linux-musl - timeout-minutes: 120 - run: | - cd build - docker build -t shadowsocks-rust:x86_64-unknown-linux-musl -f Dockerfile.x86_64-unknown-linux-musl . - ./build-release -t shadowsocks-rust:x86_64-unknown-linux-musl - - - name: Build x86_64-unknown-linux-gnu - timeout-minutes: 120 - run: | - cd build - docker build -t shadowsocks-rust:x86_64-unknown-linux-gnu -f Dockerfile.x86_64-unknown-linux-gnu . - ./build-release -t shadowsocks-rust:x86_64-unknown-linux-gnu - - - name: Build arm-unknown-linux-gnueabihf - timeout-minutes: 120 - run: | - cd build - docker build -t shadowsocks-rust:arm-unknown-linux-gnueabihf -f Dockerfile.arm-unknown-linux-gnueabihf . - ./build-release -t shadowsocks-rust:arm-unknown-linux-gnueabihf - - - name: Build aarch64-unknown-linux-gnu - timeout-minutes: 120 - run: | - cd build - docker build -t shadowsocks-rust:aarch64-unknown-linux-gnu -f Dockerfile.aarch64-unknown-linux-gnu . - ./build-release -t shadowsocks-rust:aarch64-unknown-linux-gnu - - - name: Build mips-unknown-linux-musl - timeout-minutes: 120 - run: | - cd build - docker build -t shadowsocks-rust:mips-unknown-linux-musl -f Dockerfile.mips-unknown-linux-musl . - ./build-release -t shadowsocks-rust:mips-unknown-linux-musl - - - name: Build mipsel-unknown-linux-musl - timeout-minutes: 120 - run: | - cd build - docker build -t shadowsocks-rust:mipsel-unknown-linux-musl -f Dockerfile.mipsel-unknown-linux-musl . - ./build-release -t shadowsocks-rust:mipsel-unknown-linux-musl + docker build -t shadowsocks-rust:${{ matrix.target }} -f Dockerfile.${{ matrix.target }} . + ./build-release -t ${{ matrix.target }} - uses: actions/upload-artifact@v2 with: