Skip to content

ci: make yarn install --immutable explicit in CI workflows - #10389

Open
dev-hari-prasad wants to merge 1 commit into
pgadmin-org:masterfrom
dev-hari-prasad:ci/make-yarn-install-immutable
Open

ci: make yarn install --immutable explicit in CI workflows#10389
dev-hari-prasad wants to merge 1 commit into
pgadmin-org:masterfrom
dev-hari-prasad:ci/make-yarn-install-immutable

Conversation

@dev-hari-prasad

@dev-hari-prasad dev-hari-prasad commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Part of #10363.

Yarn's enableImmutableInstalls setting already defaults to true when CI is present in the environment (such as in GitHub Actions).

Passing --immutable explicitly to yarn install in our CI workflows makes the intended immutable lockfile enforcement self-documenting and transparent to future contributors and maintainers.

Changes

  • Added --immutable to yarn install across the 4 GitHub Actions workflows:
    • check-javascript-style.yml
    • run-javascript-tests.yml
    • run-feature-tests-epas.yml
    • run-feature-tests-pg.yml

Summary by CodeRabbit

  • Chores
    • Updated automated workflows to use lockfile-consistent dependency installation.
    • Builds, style checks, and JavaScript tests now fail when dependency definitions and the lockfile are out of sync.

Yarn's enableImmutableInstalls already defaults to true when CI is set in the environment. Passing --immutable explicitly makes the intent clear and self-documenting in all CI workflows that invoke Yarn.
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 57576163-e2a9-497d-ae06-e6153304c63d

📥 Commits

Reviewing files that changed from the base of the PR and between bd7cde5 and 8899d2e.

📒 Files selected for processing (4)
  • .github/workflows/check-javascript-style.yml
  • .github/workflows/run-feature-tests-epas.yml
  • .github/workflows/run-feature-tests-pg.yml
  • .github/workflows/run-javascript-tests.yml

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


Walkthrough

The JavaScript style, EPAS feature-test, PostgreSQL feature-test, and JavaScript test workflows now use yarn install --immutable. Installs fail when the lockfile and package manifest are inconsistent.

Changes

CI install consistency

Layer / File(s) Summary
Enforce immutable Yarn installs
.github/workflows/check-javascript-style.yml, .github/workflows/run-feature-tests-epas.yml, .github/workflows/run-feature-tests-pg.yml, .github/workflows/run-javascript-tests.yml
The workflow install steps now use yarn install --immutable and fail when installation would modify the lockfile.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 8899d

The workflows now fail rather than silently updating an inconsistent Yarn lockfile, improving CI dependency reproducibility. No current merge-readiness risk is identified.

Suggested reviewers: dpage

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: making yarn install --immutable explicit in four CI workflows.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant