en/.forgejo/workflows/verify.yaml
jutty 7440053387
Some checks failed
/ verify (push) Has been cancelled
CI: Switch tooling setup to Nix
2026-06-23 23:26:41 -03:00

70 lines
1.7 KiB
YAML

on:
push:
branches:
- '*'
paths:
- src/**
- static/graph*
- static/welcome.toml
- .forgejo/**
- .justfile
- Cargo.toml
- Cargo.lock
jobs:
verify:
runs-on: docker
timeout-minutes: 20
container:
image: rust:slim
env:
RUSTUP_HOME: /rust/rustup
CARGO_HOME: /rust/cargo
steps:
- name: Install action dependencies
run: >
apt-get install --no-install-recommends --update -y
nodejs git nix
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-tags: true
- name: Set up Nix
run: |
{
echo experimental-features = nix-command flakes
} >> /etc/nix/nix.conf
- name: Set up Rust toolchain
run: |
mkdir -p "$RUSTUP_HOME"
mkdir -p "$CARGO_HOME"
rust_version=$(
grep '^rust-version = "' Cargo.toml \
| cut -d '"' -f 2
)
# rustup default "$rust_version"
# rustup toolchain install nightly
# rustup component add llvm-tools
# rustup component add --toolchain nightly rustfmt clippy
# rustup target add x86_64-unknown-linux-musl x86_64-unknown-linux-gnu
- name: Set up CI user
run: |
useradd -m ci
chown -R ci:ci "$RUSTUP_HOME"
chown -R ci:ci "$CARGO_HOME"
chown -R ci:ci "$PWD"
printf '[safe]\ndirectory = %s\n' "$PWD" > /etc/gitconfig
- name: Set up Nix
run: chown ci /nix
- name: Set up Nix development shell
run: su ci -c "nix develop --command just smoke"
- name: Assess
run: su ci -c "nix develop --command just verify"