Files
nuchat/.gitea/workflows/cargo.yaml
Fergus Molloy 8db0b14c16
Some checks failed
Cargo / build (push) Failing after 5s
Cargo / check (push) Successful in 50s
Cargo / test (push) Successful in 1m27s
use go hash
2025-07-18 13:51:48 +01:00

70 lines
1.8 KiB
YAML

name: Cargo
run-name: ${{ gitea.actor }} is verifying cargo build and tests
on: [push]
jobs:
build:
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: rust-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- uses: actions/setup-go@v3
with:
go-version: '1.20'
- uses: actions/go-hashfiles@v0.0.1
id: get-hash
with:
patterns: |-
**/Cargo.toml
- name: Echo hash
run: echo ${{ steps.get-hash.outputs.hash }}
- name: Cargo target cache
uses: actions/cache@v4
with:
path: |
~/.cargo
target
key: ${{ runner.os }}-cargo-target-${{ setps.get-hash.outputs.hash }}-${{ setps.get-hash.outputs.hash }}
restore-keys: |
${{ runner.os }}-cargo-target-${{ setps.get-hash.outputs.hash }}
${{ runner.os }}-cargo-target
- name: Build project
uses: actions-rs/cargo@v1
with:
command: build
args: --release
check:
runs-on: rust-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -Dwarnings -Wclippy::correctness -Wclippy::complexity -Wclippy::perf -Aclippy::missing_errors_doc -Aclippy::missing_panics_doc
test:
runs-on: rust-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Run unit tests
uses: actions-rs/cargo@v1
with:
command: test
args: --lib --bins
- name: Run integration tests
uses: actions-rs/cargo@v1
with:
command: test
args: --tests '*'