Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,16 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
Comment on lines +73 to +82

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Pin the free-disk-space action to a specific version.

Line 74 uses jlumbroso/free-disk-space@main, which violates the guideline to pin all actions to specific versions and avoid @main/@master. Using @main introduces non-determinism and potential breaking changes across workflow runs.

Apply this diff to pin the action to a specific release version:

-      - name: Free Disk Space (Ubuntu)
-        uses: jlumbroso/free-disk-space@main
+      - name: Free Disk Space (Ubuntu)
+        uses: jlumbroso/free-disk-space@v1
+        continue-on-error: true

The continue-on-error: true is recommended because disk space cleanup is a prerequisite optimization, not core functionality—if it fails, the build should still attempt to proceed rather than immediately fail. As per coding guidelines.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1
continue-on-error: true
with:
tool-cache: false
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true
🤖 Prompt for AI Agents
.github/workflows/nix.yml around lines 73 to 82: the workflow uses
jlumbroso/free-disk-space@main which must be pinned to a specific released tag
to ensure determinism; update the uses to a specific version tag (e.g., @vX.Y.Z)
and add continue-on-error: true to the step so disk cleanup failures don't block
the rest of the job.

- name: Install Nix
uses: cachix/install-nix-action@v31
with:
Expand Down
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ help:
@echo " install - Set up full environment"
@echo " setup - Basic Nix setup"
@echo " setup-dev - Set up local development environment (Nix + submodules + shell)"
@echo " dev - Enter the Nix dev shell"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

PR metadata is inconsistent with actual changes.

The PR title mentions "Docker workflow" improvements and "registry image management," but the actual changes in this PR are focused on:

  1. Adding dev and nix-develop Makefile targets for easier access to the Nix development shell
  2. Enabling biome formatting in the treefmt configuration

Consider updating the PR title and description to accurately reflect these changes, for example: "Add dev shell targets and enable biome formatting."

🤖 Prompt for AI Agents
Makefile lines 100-100: the PR title/description mention "Docker workflow" and
"registry image management" but the changes only add Makefile targets (dev and
nix-develop) and enable biome formatting; update the PR title and description to
accurately reflect the actual changes (e.g., "Add dev shell targets and enable
biome formatting") and include a short bullet list of the two concrete changes
made and any rationale so reviewers and changelogs match the code.

@echo " build - Build Nix configuration"
@echo " switch - Apply Nix configuration"
@echo " update - Update Nix flake and configurations"
Expand Down Expand Up @@ -137,6 +138,9 @@ switch: nix-switch
.PHONY: update
update: nix-update shell-update

.PHONY: dev
dev: nix-develop

##@ Nix Setup

.PHONY: nix-setup
Expand Down Expand Up @@ -180,6 +184,10 @@ nix-check:
fi
@echo "✅ Nix environment found!"

.PHONY: nix-develop
nix-develop:
$(NIX_ALLOW_UNFREE) $(NIX_EXEC) develop $(NIX_FLAGS)

.PHONY: nix-install
nix-install:
@if [ "$(NIX_ENV)" = "not_found" ]; then \
Expand Down
18 changes: 9 additions & 9 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,7 @@
treefmt = {
projectRootFile = "flake.nix";
programs = {
actionlint.enable = false;
biome.enable = false; # Temporarily disabled due to schema hash mismatch
biome.enable = true;

Copilot AI Nov 10, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The removal of actionlint.enable = false is not documented. If actionlint was intentionally disabled and is now being removed without re-enabling it, this could affect linting behavior for GitHub Actions workflows. Consider documenting whether actionlint should remain disabled or if it needs to be explicitly re-enabled.

Copilot uses AI. Check for mistakes.
nixfmt.enable = true;
shfmt.enable = true;
stylua.enable = true;
Expand Down
Loading