From 63b9f085e1c6ff9b4e334aa26eb68f81149f412f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sun, 17 Sep 2023 18:52:18 +0200 Subject: [PATCH] ci: add Rust build --- .github/workflows/MinedMap.yml | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/.github/workflows/MinedMap.yml b/.github/workflows/MinedMap.yml index 3f561d0..3a6ea3c 100644 --- a/.github/workflows/MinedMap.yml +++ b/.github/workflows/MinedMap.yml @@ -84,3 +84,57 @@ jobs: - run: cargo test --workspace --no-default-features - run: cargo test --workspace --examples --bins - run: cargo test --workspace --no-default-features --examples --bins + + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - os: 'macos-11' + target: 'aarch64-apple-darwin' + - os: 'macos-11' + target: 'x86_64-apple-darwin' + - os: 'windows-2019' + target: 'x86_64-pc-windows-msvc' + ext: '.exe' + - os: 'windows-2019' + target: 'i686-pc-windows-msvc' + ext: '.exe' + - os: 'ubuntu-20.04' + target: 'x86_64-unknown-linux-gnu' + + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: 'Checkout' + uses: 'actions/checkout@v4' + + - name: 'Get version' + id: 'tag' + shell: 'bash' + run: | + set -o pipefail + git fetch --prune --unshallow --tags -f + echo "tag=$(git describe --abbrev=7 --match='v*' | sed 's/^v//')" >> $GITHUB_OUTPUT + + - uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + targets: '${{ matrix.target }}' + + - uses: swatinem/rust-cache@v2 + + - name: 'Build' + shell: 'bash' + run: | + pkgdir='target/pkg/MinedMap-${{ steps.tag.outputs.tag }}-${{ matrix.target }}' + mkdir -p "$pkgdir" + cargo build --release --target=${{ matrix.target }} + cp target/${{ matrix.target }}/release/minedmap${{ matrix.ext }} "$pkgdir"/ + + - name: 'Archive' + uses: 'actions/upload-artifact@v3' + with: + name: 'MinedMap-${{ steps.tag.outputs.tag }}-${{ matrix.target }}' + path: 'target/pkg'