fix(release): resolve profile tools from flake lock #284

Merged
jwilger merged 2 commits from fix/release-nix-registry-timeout into main 2026-05-28 06:35:22 -07:00
Owner

Why:

  • Release publishing should not depend on runner access to the global Nix flake registry when installing ad-hoc helper tools.
  • CI was timing out resolving install.determinate.systems/flake-registry/stable/flake-registry.json even though the file was reachable from a browser elsewhere.

What:

  • Install release-publish helper tools with nix profile install --inputs-from . so nixpkgs#... resolves through the checked-in flake.lock.
  • Add a workflow contract regression test for the lock-backed profile install.
  • Add a tmuxinator workspace config as requested so the branch could proceed from a clean tree.

Validation:

  • rtk cargo test -p ar-gateway --test ci_workflow_contract release_publish_installs_profile_tools_from_repository_lock -- --exact
  • rtk cargo test -p ar-gateway --test ci_workflow_contract
  • just fmt
Why: - Release publishing should not depend on runner access to the global Nix flake registry when installing ad-hoc helper tools. - CI was timing out resolving `install.determinate.systems/flake-registry/stable/flake-registry.json` even though the file was reachable from a browser elsewhere. What: - Install release-publish helper tools with `nix profile install --inputs-from .` so `nixpkgs#...` resolves through the checked-in `flake.lock`. - Add a workflow contract regression test for the lock-backed profile install. - Add a tmuxinator workspace config as requested so the branch could proceed from a clean tree. Validation: - `rtk cargo test -p ar-gateway --test ci_workflow_contract release_publish_installs_profile_tools_from_repository_lock -- --exact` - `rtk cargo test -p ar-gateway --test ci_workflow_contract` - `just fmt`
Why:
- Keep the local workspace layout tracked so RGR tooling can start from a clean tree.

What:
- Add a tmuxinator config that opens opencode in the project root.

Validation:
- Not run (local workspace config only).
fix(release): resolve profile tools from flake lock
All checks were successful
CI / Classify changed paths (pull_request) Successful in 1s
CI / Format check (pull_request) Successful in 6s
CI / Clippy (pull_request) Successful in 46s
CI / opencode plugin tests (pull_request) Has been skipped
CI / Dependency policy (pull_request) Successful in 15s
CI / Test (pull_request) Successful in 1m2s
CI / Request auto_review semantic review (pull_request) Successful in 1s
auto_review auto_review: no findings
CI / Build (pull_request) Successful in 37s
CI / Build PR artifacts (no token) (pull_request) Has been skipped
7a3a7d2412
Why:
- Release publishing should not depend on runner access to the global Nix flake registry when installing ad-hoc helper tools.
- CI was timing out resolving install.determinate.systems flake registry even though the file was browser-accessible elsewhere.

What:
- Install release-publish profile tools with nix profile install --inputs-from . so nixpkgs resolves through the checked-in flake lock.
- Add a workflow contract regression test for the lock-backed profile install.

Validation:
- rtk cargo test -p ar-gateway --test ci_workflow_contract release_publish_installs_profile_tools_from_repository_lock -- --exact
- rtk cargo test -p ar-gateway --test ci_workflow_contract
- just fmt
auto-review left a comment

The PR updates the release workflow to resolve Nix profile tools from the flake.lock file, reducing dependency on the global flake registry and addressing CI timeouts. It also introduces a regression test to ensure this behavior and adds a tmuxinator configuration file.

Walkthrough

  • .forgejo/workflows/release-publish.yml:
    • Modified the Nix profile installation command to use --inputs-from ., ensuring dependencies are resolved from the flake.lock file.
  • crates/ar-gateway/tests/ci_workflow_contract.rs:
    • Added a new test release_publish_installs_profile_tools_from_repository_lock to verify that the release workflow installs profile tools using the repository lock.
  • .tmuxinator.yml:
    • Added a new tmuxinator configuration file to facilitate workspace setup.

LLM usage and cost

The PR updates the release workflow to resolve Nix profile tools from the `flake.lock` file, reducing dependency on the global flake registry and addressing CI timeouts. It also introduces a regression test to ensure this behavior and adds a tmuxinator configuration file. ## Walkthrough - **.forgejo/workflows/release-publish.yml**: - Modified the Nix profile installation command to use `--inputs-from .`, ensuring dependencies are resolved from the `flake.lock` file. - **crates/ar-gateway/tests/ci_workflow_contract.rs**: - Added a new test `release_publish_installs_profile_tools_from_repository_lock` to verify that the release workflow installs profile tools using the repository lock. - **.tmuxinator.yml**: - Added a new tmuxinator configuration file to facilitate workspace setup. ## LLM usage and cost - Reasoning (gpt-4o) in=2023 out=332 cost=$0.015095 - Cheap (gpt-4o-mini) in=459 out=47 cost=$0.000097 Estimated total USD: $0.015192 via https://api.openai.com and https://api.openai.com
jwilger deleted branch fix/release-nix-registry-timeout 2026-05-28 06:35:22 -07:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Slipstream/auto_review!284
No description provided.