From efcbab04c620a776d78b5b1a1cd430112be6c076 Mon Sep 17 00:00:00 2001 From: jutty Date: Thu, 19 Mar 2026 23:37:39 -0300 Subject: [PATCH 1/7] Extend test coverage for test and fixed modules --- .forgejo/workflows/verify.yaml | 16 +++++++++------- .justfile | 6 ++++++ Cargo.lock | 4 ++-- src/router/handlers/fixed.rs | 6 +++++- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/.forgejo/workflows/verify.yaml b/.forgejo/workflows/verify.yaml index a8ebe71..d4fb5f8 100644 --- a/.forgejo/workflows/verify.yaml +++ b/.forgejo/workflows/verify.yaml @@ -32,19 +32,21 @@ jobs: rustup target add x86_64-unknown-linux-musl - name: Setup additional tooling - run: .forgejo/workflows/setup-tools.sh + run: | + .forgejo/workflows/setup-tools.sh + git config --add safe.directory "$PWD" - name: Build - run: just build + run: just ci build - name: Format - run: just format-assess + run: just ci format-assess - name: Lint - run: just lint-assess + run: just ci lint-assess - name: Cargo check - run: just check + run: just ci check - name: Test - run: just test + run: just ci test - name: Assess test coverage - run: just cover-assess + run: just ci cover-assess diff --git a/.justfile b/.justfile index 14705dd..6dc9ac6 100644 --- a/.justfile +++ b/.justfile @@ -433,6 +433,12 @@ default: choose: @just --choose +[script, private] +ci recipe: + id -u ci >/dev/null 2>&1 || useradd -m ci + chown -R ci:ci . + su ci -c "just {{ recipe }}" + alias ch := choose export CARGO_TERM_COLOR := 'always' diff --git a/Cargo.lock b/Cargo.lock index 87d028d..d5037d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -854,9 +854,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.9" +version = "0.103.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" +checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" dependencies = [ "ring", "rustls-pki-types", diff --git a/src/router/handlers/fixed.rs b/src/router/handlers/fixed.rs index 770d139..390e794 100644 --- a/src/router/handlers/fixed.rs +++ b/src/router/handlers/fixed.rs @@ -724,7 +724,7 @@ mod tests { } #[test] - fn not_found_fallback_error() { + fn not_found_asset_error() { let error = fallback("not_found.png", &Graph::default()).unwrap_err(); assert!(matches!(&error.kind, AssetErrorKind::NotFound)); @@ -736,6 +736,7 @@ mod tests { } #[cfg(test)] +#[cfg(unix)] #[expect(clippy::panic_in_result_fn)] mod serial_tests { use std::{fs, os::unix::fs::PermissionsExt as _}; @@ -755,6 +756,9 @@ mod serial_tests { permissions.set_mode(0o200); fs::set_permissions(&file, permissions)?; + let new_permissions = fs::metadata(&file)?.permissions(); + assert_eq!(new_permissions.mode() & 0o777, 0o200); + let error = fallback("unreadable.png", &Graph::default()).unwrap_err(); assert!(matches!(&error.kind, AssetErrorKind::IO)); From f856866a5334cc8d37b08fdcd00f8cea5714f076 Mon Sep 17 00:00:00 2001 From: jutty Date: Sat, 21 Mar 2026 09:11:47 -0300 Subject: [PATCH 2/7] Fix Git safe.directory errors --- .forgejo/workflows/verify.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.forgejo/workflows/verify.yaml b/.forgejo/workflows/verify.yaml index d4fb5f8..27531a3 100644 --- a/.forgejo/workflows/verify.yaml +++ b/.forgejo/workflows/verify.yaml @@ -32,9 +32,7 @@ jobs: rustup target add x86_64-unknown-linux-musl - name: Setup additional tooling - run: | - .forgejo/workflows/setup-tools.sh - git config --add safe.directory "$PWD" + run: .forgejo/workflows/setup-tools.sh - name: Build run: just ci build From 800536e6259082b01f66ecca7bfebbd3bb9252ed Mon Sep 17 00:00:00 2001 From: jutty Date: Sat, 21 Mar 2026 09:35:38 -0300 Subject: [PATCH 3/7] Move ci user setup to workflow file --- .forgejo/workflows/verify.yaml | 5 +++++ .justfile | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/verify.yaml b/.forgejo/workflows/verify.yaml index 27531a3..4440769 100644 --- a/.forgejo/workflows/verify.yaml +++ b/.forgejo/workflows/verify.yaml @@ -34,6 +34,11 @@ jobs: - name: Setup additional tooling run: .forgejo/workflows/setup-tools.sh + - name: Setup permissions for ci user + run: | + useradd -m ci && chown -R ci:ci . + git config --global --add safe.directory "$PWD" + - name: Build run: just ci build diff --git a/.justfile b/.justfile index 6dc9ac6..0236f9f 100644 --- a/.justfile +++ b/.justfile @@ -433,13 +433,13 @@ default: choose: @just --choose +alias ch := choose + [script, private] ci recipe: - id -u ci >/dev/null 2>&1 || useradd -m ci - chown -R ci:ci . su ci -c "just {{ recipe }}" -alias ch := choose +## VARIABLES export CARGO_TERM_COLOR := 'always' @@ -460,4 +460,6 @@ lockfile_version := ``` | grep version | cut -d '"' -f 2 ``` +## OPTIONS + set unstable From 2f46f65654c777001609ad0ecde812a3f5cc68f0 Mon Sep 17 00:00:00 2001 From: jutty Date: Sun, 22 Mar 2026 22:45:13 -0300 Subject: [PATCH 4/7] Fail CI --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 9382190..5cded15 100644 --- a/src/main.rs +++ b/src/main.rs @@ -45,7 +45,7 @@ async fn main() -> io::Result<()> { let graph = Graph::load(); instant = tlog!(&instant, "Loaded graph"); - let router = en::router::new(graph); + let _ = en::router::new(graph); tlog!(&instant, "Initialized router"); let address = args.make_address(); From b1c18ad827be6d22cd383865fa8efdcedac3f9ce Mon Sep 17 00:00:00 2001 From: jutty Date: Sun, 22 Mar 2026 22:50:50 -0300 Subject: [PATCH 5/7] Pass CI --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 5cded15..9382190 100644 --- a/src/main.rs +++ b/src/main.rs @@ -45,7 +45,7 @@ async fn main() -> io::Result<()> { let graph = Graph::load(); instant = tlog!(&instant, "Loaded graph"); - let _ = en::router::new(graph); + let router = en::router::new(graph); tlog!(&instant, "Initialized router"); let address = args.make_address(); From 4e631a774943e27e474312a1978787a088d6c3c7 Mon Sep 17 00:00:00 2001 From: jutty Date: Sun, 22 Mar 2026 23:05:53 -0300 Subject: [PATCH 6/7] Fail CI --- .forgejo/workflows/verify.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/verify.yaml b/.forgejo/workflows/verify.yaml index 4440769..ecceebe 100644 --- a/.forgejo/workflows/verify.yaml +++ b/.forgejo/workflows/verify.yaml @@ -17,7 +17,7 @@ jobs: image: rust:slim steps: - name: Install action dependencies - run: apt-get install --no-install-recommends --update -y nodejs curl git + run: xxxxxxx install --no-install-recommends --update -y nodejs curl git - name: Checkout code uses: actions/checkout@v6 From caee49cff8609803ab1d7ecffcab6d719eb07b79 Mon Sep 17 00:00:00 2001 From: jutty Date: Mon, 23 Mar 2026 00:47:01 -0300 Subject: [PATCH 7/7] Pass CI --- .forgejo/workflows/verify.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/verify.yaml b/.forgejo/workflows/verify.yaml index ecceebe..4440769 100644 --- a/.forgejo/workflows/verify.yaml +++ b/.forgejo/workflows/verify.yaml @@ -17,7 +17,7 @@ jobs: image: rust:slim steps: - name: Install action dependencies - run: xxxxxxx install --no-install-recommends --update -y nodejs curl git + run: apt-get install --no-install-recommends --update -y nodejs curl git - name: Checkout code uses: actions/checkout@v6