CI: Drop actions-rs and simplify dep install #80
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
on: | |
pull_request: | |
env: | |
RUST_BACKTRACE: 1 | |
# Spend CI time only on latest ref: https://docs.github.com/en/actions/using-jobs/using-concurrency | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
unit: | |
strategy: | |
# Prevent GitHub from cancelling all in-progress jobs when a matrix job fails. | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
# Real CI work starts here | |
- name: Build workspace | |
run: cargo build | |
- name: Run workspace unit tests | |
run: cargo test --workspace --lib | |
- name: Run workspace doc tests | |
run: cargo test --workspace --doc | |
if: false # currently go doc generates stuff that rust expects to be valid symbols | |
codegen: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# Dependencies | |
- uses: extractions/setup-just@v2 | |
- uses: arduino/setup-protoc@v3 | |
- name: install fd, sd, ripgrep | |
run: | | |
sudo apt-get install -y ripgrep | |
export FD_VER=10.2.0 | |
export SD_VER=1.0.0 | |
curl -sSL "https://github.com/sharkdp/fd/releases/download/v${FD_VER}/fd-v${FD_VER}-x86_64-unknown-linux-musl.tar.gz" \ | |
| tar xz --strip-components=1 -C /usr/local/bin/ | |
curl -sSL "https://github.com/chmln/sd/releases/download/v${SD_VER}/sd-v${SD_VER}-x86_64-unknown-linux-musl.tar.gz" \ | |
| tar xz --strip-components=1 -C /usr/local/bin/ | |
# Rust | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
# Run codegen step-by-step | |
- run: just protos | |
- run: just swagger | |
- run: just codegen | |
- run: just names | |
- name: Ensure generated output is committed | |
run: | | |
if ! git diff --exit-code .; then | |
echo "Uncommitted changes" | |
echo "Please run codegeneration locally and commit the results" | |
exit 1 | |
fi |