1a77043a71
- src/main.rs: split VISUAL/EDITOR into prog+args, drop expect panic in reap_timer, propagate write_timer errors, check stop during actions, record history on partial failure, use const for stop msg - Cargo.toml: add authors/homepage, bump noyalib 0.0.12->0.0.13 - release.yaml: tighten tag glob, fix curl 404 fallback, URI-encode asset name, upgrade upload-artifact v3->v4 - ci.yaml: add cargo cache step - README.md: sync feature list, fix push to two-step - RELEASING.md: clarify Cargo.lock regeneration
55 lines
1.1 KiB
YAML
55 lines
1.1 KiB
YAML
name: ci
|
|
|
|
"on":
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
rust:
|
|
runs-on: [self-hosted, linux, arch, homelab]
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Cache Cargo registry and build
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
target
|
|
key: cargo-${{ hashFiles('Cargo.lock') }}
|
|
|
|
- name: Check formatting
|
|
shell: bash
|
|
run: cargo fmt --check
|
|
|
|
- name: Run tests
|
|
shell: bash
|
|
run: cargo test --locked
|
|
|
|
- name: Run clippy
|
|
shell: bash
|
|
run: cargo clippy --locked -- -D warnings
|
|
|
|
- name: Build release binary
|
|
shell: bash
|
|
run: cargo build --release --locked
|
|
|
|
lint-yaml:
|
|
runs-on: [self-hosted, linux, arch, homelab]
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Lint YAML
|
|
shell: bash
|
|
run: |
|
|
docker run --rm \
|
|
-v "$PWD:/work" \
|
|
-w /work \
|
|
cytopia/yamllint:latest \
|
|
-c .yamllint .
|