rabbitizer/.github/workflows/publish_crate.yml
2022-12-18 16:22:06 -03:00

34 lines
870 B
YAML

name: Build and upload Rust crate
# Build on every branch push, tag push, and pull request change:
on: [push, pull_request]
jobs:
build_rust:
name: Build rust stuff
runs-on: ubuntu-latest
steps:
- name: Checkout reposistory
uses: actions/checkout@v3
- name: Build C library
run: make -j $(nproc) WERROR=1
- name: Run logic checks
run: ./tests/c/logic_checks/run_logic_checks.sh
- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- name: Build Rust bindings
if: not startsWith(github.ref, 'refs/tags/')
run: cd rust && cargo build --release
- name: Upload crate
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
run: cd rust && cargo publish --token ${{ secrets.CARGO_REGISTRY_TOKEN }}