CI: Wrap nix devshell invocation with just
Some checks failed
/ verify (push) Has been cancelled

This commit also adds the flake version to the justfile's version check.
This commit is contained in:
Juno Takano 2026-06-29 02:56:17 -03:00
commit 18db1bdc1f
No known key found for this signature in database
3 changed files with 36 additions and 34 deletions

View file

@ -16,10 +16,11 @@ jobs:
container:
image: rust:slim
steps:
- name: Install action dependencies
- name: Set up action dependencies
run: |
apt-get install --no-install-recommends --update -y \
nodejs git nix
apt-get install --no-install-recommends --update -y nodejs git nix
echo experimental-features = nix-command flakes >> /etc/nix/nix.conf
nix profile install nixpkgs#just # trixie is on nix 2.26
- name: Checkout code
uses: actions/checkout@v6
@ -34,7 +35,7 @@ jobs:
- name: Set up Rust toolchain
run: |
rust_version=$(sed -nE 's/^rust-version = "(.*)"$/\1/p' Cargo.toml)
rust_version=$(grep '^rust-version' Cargo.toml | cut -d \" -f 2)
su ci -c "
rustup default '$rust_version'
@ -47,9 +48,4 @@ jobs:
"
- name: Assess
run: |
ENV_PATH=$PATH su ci -c "
nix --experimental-features 'nix-command flakes' \
develop path:$PWD \
-c just -f $PWD/.justfile verify
"
run: /root/.nix-profile/bin/just ci-nix "$PATH" verify

View file

@ -310,17 +310,17 @@ check:
alias c := check
# Run tests
[group: 'assess']
[group: 'assess', script]
test pattern="":
cargo test {{ pattern }} --timings -- --test-threads=1 'serial_tests::'
cargo test {{ pattern }} --timings --bin en
cargo test {{ pattern }} --timings --doc
cargo test {{ pattern }} --timings --lib -- --skip 'serial_tests::'
{{ if which("wine") == "" {
"echo Skipping Windows tests: wine not found"
} else {
just_cmd + " test-windows"
} }}
if command -v wine >/dev/null; then
{{ just_cmd }} test-windows
else
echo "Skipping Windows tests: wine not found"
fi
alias t := test
@ -383,17 +383,15 @@ alias v := verify
[script, group: 'assess']
[arg("remote", long="remote", short="r", value="true")]
version-assess remote="false": update
last_remote_tag=$(
git ls-remote --tags --sort=-creatordate origin |
head -n 1 | tr -d v | cut -d / -f 3
)
printf 'Local: %s\nRemote: %s\nManifest: %s\nLockfile: %s\n' \
"{{ last_local_tag }}" \
"$last_remote_tag" \
"{{ manifest_version }}" \
"{{ lockfile_version }}"
echo "Local: {{ last_local_tag }}"
echo "Remote: {{ last_remote_tag }}"
echo "Manifest: {{ manifest_version }}"
echo "Lockfile: {{ lockfile_version }}"
echo "Flake: {{ flake_version }}"
test "{{ last_local_tag }}" = "{{ lockfile_version }}"
test "{{ last_local_tag }}" = "{{ manifest_version }}"
test "{{ last_local_tag }}" = "{{ flake_version }}"
if {{ if remote == "true" { "true" } else { "false" } }}; then
test "{{ last_local_tag }}" = "$last_remote_tag"
fi
@ -529,12 +527,15 @@ alias ch := choose
[script, private]
ci recipes:
ENV_PATH="$PATH" su ci -c "{{ just_cmd }} -f '{{ justfile() }}' {{ recipes }}"
su ci -c "{{ just_cmd }} -f '{{ justfile() }}' {{ recipes }}"
[script, private]
ci-nix recipes:
ENV_PATH="$PATH" su ci -c "nix develop --command \
{{ just_cmd }} -f '{{ justfile() }}' {{ recipes }}"
ci-nix path recipes:
ENV_PATH="{{ path }}" su ci -c "
nix --experimental-features 'nix-command flakes' \
develop "path:{{ justfile_directory() }}" --command \
{{ just_cmd }} -f '{{ justfile() }}' {{ recipes }}
"
[private]
smoke:
@ -549,18 +550,23 @@ msvc_target := "x86_64-pc-windows-msvc"
default_target := musl_target
debug_vars := 'DEBUG=${DEBUG:-} DEBUG_FILTER=${DEBUG_FILTER:-} RUST_BACKTRACE=${RUST_BACKTRACE:-} RUSTFLAGS=${RUSTFLAGS:-}'
just_cmd := 'just --timestamp --command-color green'
just_cmd_no_ts := 'just --explain --command-color green'
just_cmd := just_cmd_no_ts + ' --timestamp'
just_cmd_no_ts := just_executable() + ' --command-color green'
watch_cmd := "watchexec -qc -r -e rs,toml,html,css --color always -- "
cover_cmd := 'cargo llvm-cov --color always --ignore-filename-regex "main\.rs|log\.rs"'
last_local_tag := `git tag --sort=-creatordate | head -n 1 | tr -d v`
last_remote_tag := ```
git ls-remote --tags --sort=-creatordate origin |
head -n 1 | tr -d v | cut -d / -f 3
```
manifest_version := `grep "^version" Cargo.toml | cut -d \" -f 2`
lockfile_version := ```
grep -A 1 'name = "en"' Cargo.lock \
| grep version | cut -d '"' -f 2
```
flake_version := `grep '^ *version = "' flake.nix | cut -d \" -f 2`
## OPTIONS
set unstable
set unstable # TODO remove this once all used features are stabilized
set lazy

View file

@ -5,7 +5,7 @@
outputs = { nixpkgs, self }: let
name = "en";
version = "0.4.0";
version = "0.4.0-alpha";
supportedSystems = [
"x86_64-linux"