diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 712b46630..6981dd37e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: name: Build ${{ matrix.target }} runs-on: ${{ matrix.os }} strategy: - fail-fast: true + # fail-fast: true matrix: include: - target: aarch64-apple-darwin @@ -69,23 +69,28 @@ jobs: run: | echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append vcpkg install openssl:x64-windows-static-md - - name: Install Native Dependencies (Linux) - if: matrix.target == 'aarch64-unknown-linux-gnu' - run: | - sudo apt-get install -y gcc-aarch64-linux-gnu - - name: Run build (native) + - name: Run build (${{ matrix.target }}) if: matrix.cross != 'true' run: | cargo build --release --target ${{ matrix.target }} --features=ssl --package martin cargo build --release --target ${{ matrix.target }} --features=cli --package martin-mbtiles - - name: Run build (cross-platform, vendored-openssl) - # compile without debug symbols because stripping them with `strip` does not work cross-platform - if: matrix.cross == 'true' + - name: Run build (${{ matrix.target }}) + if: matrix.target == 'aarch64-apple-darwin' run: | rustup target add "${{ matrix.target }}" + # compile without debug symbols because stripping them with `strip` does not work cross-platform export RUSTFLAGS='-C link-arg=-s' cargo build --release --target ${{ matrix.target }} --features=vendored-openssl --package martin - cargo build --release --target ${{ matrix.target }} --features=cli --package martin-mbtiles + cargo build --release --target ${{ matrix.target }} --no-default-features --features=rustls,cli --package martin-mbtiles + - name: Run build (${{ matrix.target }}) + if: matrix.target == 'aarch64-unknown-linux-gnu' + run: | + sudo apt-get install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu + rustup target add "${{ matrix.target }}" + # compile without debug symbols because stripping them with `strip` does not work cross-platform + export RUSTFLAGS='-C link-arg=-s -C linker=aarch64-linux-gnu-gcc' + cargo build --release --target ${{ matrix.target }} --features=vendored-openssl --package martin + cargo build --release --target ${{ matrix.target }} --no-default-features --features=rustls,cli --package martin-mbtiles - name: Save build artifacts run: | mkdir -p target_releases @@ -110,7 +115,7 @@ jobs: runs-on: ${{ matrix.os }} needs: [ build ] strategy: - fail-fast: true + # fail-fast: true matrix: include: - target: x86_64-apple-darwin @@ -195,7 +200,7 @@ jobs: runs-on: ubuntu-latest needs: [ build ] strategy: - fail-fast: true + # fail-fast: true matrix: include: # These must match the versions of postgres used in the docker-compose.yml @@ -289,7 +294,7 @@ jobs: runs-on: ${{ matrix.os }} needs: [ test, test-legacy ] strategy: - fail-fast: true + # fail-fast: true matrix: include: - target: aarch64-apple-darwin