test(flakeref): bump process-compose to v1.110.0 and refresh devbox.lock files#2868
Open
mikeland73 wants to merge 8 commits into
Open
test(flakeref): bump process-compose to v1.110.0 and refresh devbox.lock files#2868mikeland73 wants to merge 8 commits into
mikeland73 wants to merge 8 commits into
Conversation
Update the add-platforms flakeref testscript from process-compose v1.87.0 to v1.110.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR aims to reduce CI flakiness in the add_platforms_flakeref testscript by updating the pinned process-compose GitHub flake ref from v1.87.0 to v1.110.0, avoiding source builds of an older version during CI runs. However, the diff also includes a broad refresh of many devbox.lock files across examples and the repository root, which is not described in the PR metadata and substantially expands the scope.
Changes:
- Bump
testscripts/add/add_platforms_flakeref.test.txtto addgithub:F1bonacc1/process-compose/v1.110.0and assertprocess-compose versionoutput1.110.0. - Update the expected
devbox.jsonpackage key in the testscript to the new flake ref. - Refresh many
devbox.lockfiles (examples and root), updating nixpkgs pins and various package resolutions.
Reviewed changes
Copilot reviewed 1 out of 25 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| testscripts/add/add_platforms_flakeref.test.txt | Bumps process-compose flake ref and updates the version assertion/expected JSON key. |
| devbox.lock | Updates root lockfile nixpkgs pin and tool resolutions (scope-expanding change). |
| examples/stacks/rails/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/stacks/lepp-stack/devbox.lock | Refreshes example lockfile package resolutions (scope-expanding change). |
| examples/stacks/lapp-stack/devbox.lock | Refreshes example lockfile package resolutions (scope-expanding change). |
| examples/stacks/jekyll/devbox.lock | Refreshes example lockfile package resolutions (scope-expanding change). |
| examples/stacks/drupal/devbox.lock | Refreshes example lockfile package resolutions (scope-expanding change). |
| examples/stacks/django/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/servers/nginx/devbox.lock | Refreshes example lockfile package resolutions (scope-expanding change). |
| examples/plugins/builtin/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/python/poetry/poetry-pyproject-subdir/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/python/poetry/poetry-demo/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/python/pipenv/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/python/pip/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/php/ds-extension/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/nodejs/nodejs-yarn/devbox.lock | Refreshes example lockfile nixpkgs pin and nodejs resolution (scope-expanding change). |
| examples/development/nodejs/nodejs-pnpm/devbox.lock | Refreshes example lockfile nixpkgs pin and nodejs resolution (scope-expanding change). |
| examples/development/haskell/devbox.lock | Refreshes example lockfile package resolution entries (scope-expanding change). |
| examples/development/go/hello-world/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/elixir/elixir_hello/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/development/bun/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/databases/mysql/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/databases/mariadb/devbox.lock | Refreshes example lockfile metadata/resolution (scope-expanding change). |
| examples/data_science/pytorch/basic-example/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
| examples/data_science/jupyter/devbox.lock | Refreshes example lockfile nixpkgs pin/resolution (scope-expanding change). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
stdout patterns are regexes; escape the dots so the version check is exact. Addresses PR review feedback. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nix.conf Nix resolves `github:` flake refs (e.g. the latest commit of nixpkgs-unstable) via the GitHub API. Anonymous requests are capped at 60/hr and were quickly exhausted by the parallel test suite, surfacing as `unable to download '.../commits/nixpkgs-unstable': HTTP error 403` and cascading test failures. The token was only provided via NIX_CONFIG and the user-level ~/.config/nix/nix.conf. Nix only honors `access-tokens` from those sources when the invoking user is trusted, and the daemon does not read user config at all. On Linux the system-wide /etc/nix/nix.conf never received the token, so GitHub calls went out unauthenticated. - test job: write access-tokens to /etc/nix/nix.conf on every platform (always trusted, read by client and daemon) and restart the daemon (systemctl on Linux, launchctl on macOS). - test-nix-versions job: pass access-tokens through the nix-installer extra-conf, which lands in /etc/nix/nix.conf. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
process-compose is a slow Go build pinned to a mutable upstream tag that needed repeated bumping, making the test flaky. Switch to GNU hello pinned to a fixed nixpkgs commit: it is fetched prebuilt from the binary cache and the commit never changes, while still exercising the github: flake-ref add path with --exclude-platform. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The `test` job defined a 3-value `nix-version` matrix, but the value was never wired into any step after the job switched to installing Nix via devbox-install-action (which can't pin a Nix version). The three legs ran identical duplicates, tripling the slowest/flakiest job for no extra coverage. Remove the matrix and document how to re-add it once the install action supports specifying a Nix version. Cross-version coverage remains in the separate test-nix-versions job. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…y-cicd-tests Brings in #2869: remove the dead nix-version matrix from the cli-tests test job (the install action no longer pins a Nix version, so the legs were identical duplicates). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The jekyll example's run_test fails with `cannot load such file -- csv (LoadError)` because `bundler@latest` from nixpkgs now runs jekyll under Ruby 3.4, which moved csv (and base64, logger) from default gems to bundled gems. Bundled gems must be declared in the Gemfile or `require` fails at startup. The run_test regenerates Gemfile.lock via `bundle update`, so only the Gemfile needs the entries. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
add_platforms_flakereftestscript fromv1.87.0tov1.110.0.devbox.lockfiles across the repo root and examples.The flakeref test (
testscripts/add/add_platforms_flakeref.test.txt) exercisesdevbox addwith a GitHub flake ref. Because it pinned an old version, CI built process-compose from source and ran its (occasionally flaky) upstream test suite — a recurring source of flaky CI failures across unrelated PRs.Changes
devbox add github:F1bonacc1/process-compose/v1.110.0(wasv1.87.0)1.110.0devbox.jsonkey updated to the new refdevbox.lockat the repo root and across 23 example projects🤖 Generated with Claude Code