ci: add Rust build

This commit is contained in:
Matthias Schiffer 2023-09-17 18:52:18 +02:00
parent a153889ce6
commit 63b9f085e1
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C

View file

@ -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'