ci: reconcile withheld managed Forgejo workflows #10

Merged
jercik merged 1 commit from ci/reconcile-managed-workflows into main 2026-08-08 10:01:18 +00:00
Owner

The earlier workflow re-render ran without forge access, so it withheld three visibility-dependent workflows: .forgejo/workflows/checks.yml, .forgejo/workflows/dedupe-check.yml, and .forgejo/workflows/release.yml. A forge-connected @j4k/align --fix reconciles them here.

The re-rendered files carry the pnpm_config_verify_deps_before_run guard, which is what currently turns Checks / quality-checks red: pnpm 11 auto-reinstalls dependencies mid-run with lifecycle scripts re-enabled.

No forge-side settings changed.

The earlier workflow re-render ran without forge access, so it withheld three visibility-dependent workflows: `.forgejo/workflows/checks.yml`, `.forgejo/workflows/dedupe-check.yml`, and `.forgejo/workflows/release.yml`. A forge-connected `@j4k/align --fix` reconciles them here. The re-rendered files carry the `pnpm_config_verify_deps_before_run` guard, which is what currently turns `Checks / quality-checks` red: pnpm 11 auto-reinstalls dependencies mid-run with lifecycle scripts re-enabled. No forge-side settings changed.
ci: reconcile withheld managed Forgejo workflows
All checks were successful
commit-msg / commitlint (pull_request) Successful in 31s
Checks / quality-checks (24.15.0) (pull_request) Successful in 52s
Checks / quality-checks (26.5.0) (pull_request) Successful in 53s
PR Review / Prepare immutable review tools (pull_request_target) Successful in 2m24s
PR Review / forgejo-review-approach-smart-1 generator (pull_request_target) Successful in 2m28s
PR Review / forgejo-review-approach-luna-1 generator (pull_request_target) Successful in 3m0s
PR Review / forgejo-review-approach-luna-2 generator (pull_request_target) Successful in 3m5s
PR Review / forgejo-review-approach-luna-3 generator (pull_request_target) Successful in 3m28s
PR Review / forgejo-review-code-luna-3 generator (pull_request_target) Successful in 3m50s
PR Review / forgejo-review-code-luna-2 generator (pull_request_target) Successful in 4m16s
PR Review / forgejo-review-code-luna generator (pull_request_target) Successful in 4m38s
PR Review / forgejo-review-code-smart-1 generator (pull_request_target) Successful in 5m14s
PR Review / Dispatch and observe exact review writers (pull_request_target) Successful in 5m34s
7ad2c3916e
forgejo-actions left a comment

Approach review: The approach looks good. Re-rendering the three managed workflows through @j4k/align is the appropriate project-standard change, and applying the pnpm guard at workflow scope consistently preserves the hardened install behavior across each independent workflow.

Approach review by Codex GPT-5.6 SOL (gpt-5.6-sol)

**Approach review:** The approach looks good. Re-rendering the three managed workflows through `@j4k/align` is the appropriate project-standard change, and applying the pnpm guard at workflow scope consistently preserves the hardened install behavior across each independent workflow. _Approach review by Codex GPT-5.6 SOL (gpt-5.6-sol)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1hcHByb2FjaC1zbWFydC0xIiwic291cmNlV29ya2Zsb3dSdW5JZCI6IjE5Mzc5Iiwic291cmNlR2VuZXJhdG9yQXR0ZW1wdCI6IjEiLCJyZXN1bHRJZCI6ImVjNjI3MzhiLTNiMWQtNDJmNS1hZmYzLTdmZGJjNDQzZmY0ZCJ9 -->
forgejo-actions left a comment

Approach review: The approach looks good. The guard is placed at workflow scope in each affected workflow, including the reusable checks workflow, so it covers all subsequent pnpm invocations without relying on project configuration that the PR checks intentionally remove. No materially better alternative was found.

Approach review by Codex GPT-5.6 Luna (gpt-5.6-luna)

**Approach review:** The approach looks good. The guard is placed at workflow scope in each affected workflow, including the reusable checks workflow, so it covers all subsequent pnpm invocations without relying on project configuration that the PR checks intentionally remove. No materially better alternative was found. _Approach review by Codex GPT-5.6 Luna (gpt-5.6-luna)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1hcHByb2FjaC1sdW5hLTEiLCJzb3VyY2VXb3JrZmxvd1J1bklkIjoiMTkzNzkiLCJzb3VyY2VHZW5lcmF0b3JBdHRlbXB0IjoiMSIsInJlc3VsdElkIjoiNjc1NzNlNjktOWNiZC00MGE5LTkxOTEtNDE5YzU0NWZjOGJkIn0= -->
forgejo-actions left a comment

Approach review: The approach looks good. The workflow-level pnpm_config_verify_deps_before_run guard is appropriately scoped to each independently rendered workflow and preserves the existing hardened install boundary for subsequent pnpm commands. No materially better alternative is evident.

Approach review by Codex GPT-5.6 Luna (gpt-5.6-luna)

**Approach review:** The approach looks good. The workflow-level `pnpm_config_verify_deps_before_run` guard is appropriately scoped to each independently rendered workflow and preserves the existing hardened install boundary for subsequent pnpm commands. No materially better alternative is evident. _Approach review by Codex GPT-5.6 Luna (gpt-5.6-luna)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1hcHByb2FjaC1sdW5hLTIiLCJzb3VyY2VXb3JrZmxvd1J1bklkIjoiMTkzNzkiLCJzb3VyY2VHZW5lcmF0b3JBdHRlbXB0IjoiMSIsInJlc3VsdElkIjoiODhlOTlmMjktMDExMi00NTE4LTljYWMtZTg2YzNkNzU0MTY0In0= -->
forgejo-actions left a comment

Approach review: The workflow-level pnpm guard is appropriately scoped across the three independent workflows and addresses the pnpm 11 behavior without relying on PR-controlled project configuration. No materially better alternative identified.

Approach review by Codex GPT-5.6 Luna (gpt-5.6-luna)

**Approach review:** The workflow-level pnpm guard is appropriately scoped across the three independent workflows and addresses the pnpm 11 behavior without relying on PR-controlled project configuration. No materially better alternative identified. _Approach review by Codex GPT-5.6 Luna (gpt-5.6-luna)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1hcHByb2FjaC1sdW5hLTMiLCJzb3VyY2VXb3JrZmxvd1J1bklkIjoiMTkzNzkiLCJzb3VyY2VHZW5lcmF0b3JBdHRlbXB0IjoiMSIsInJlc3VsdElkIjoiZDcyMGJhMDUtMzdhNy00YTM0LThmY2UtNDZiMWM3YjFjNDJkIn0= -->
forgejo-actions left a comment

Summary: No actionable issues found.

Code review by Codex GPT-5.6 Luna (gpt-5.6-luna)

**Summary:** No actionable issues found. _Code review by Codex GPT-5.6 Luna (gpt-5.6-luna)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1jb2RlLWx1bmEtMyIsInNvdXJjZVdvcmtmbG93UnVuSWQiOiIxOTM3OSIsInNvdXJjZUdlbmVyYXRvckF0dGVtcHQiOiIxIiwicmVzdWx0SWQiOiIzNGQwYzFiYy0yZTNhLTRlODktOGYzOS0wZTM3ZmExNTE3NzEifQ== -->
forgejo-actions left a comment

Summary: No actionable issues found.

Code review by Codex GPT-5.6 Luna (gpt-5.6-luna)

**Summary:** No actionable issues found. _Code review by Codex GPT-5.6 Luna (gpt-5.6-luna)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1jb2RlLWx1bmEtMiIsInNvdXJjZVdvcmtmbG93UnVuSWQiOiIxOTM3OSIsInNvdXJjZUdlbmVyYXRvckF0dGVtcHQiOiIxIiwicmVzdWx0SWQiOiIxMWQzNjg3My1lNDExLTQzMzctOTM2YS01M2Y1MzBkMTQwMGMifQ== -->
forgejo-actions left a comment

Summary: No actionable issues found.

Code review by Codex GPT-5.6 Luna (gpt-5.6-luna)

**Summary:** No actionable issues found. _Code review by Codex GPT-5.6 Luna (gpt-5.6-luna)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1jb2RlLWx1bmEiLCJzb3VyY2VXb3JrZmxvd1J1bklkIjoiMTkzNzkiLCJzb3VyY2VHZW5lcmF0b3JBdHRlbXB0IjoiMSIsInJlc3VsdElkIjoiZDczMWViZTktY2Q3ZC00M2MzLWI2MTktOGU3YTRmMzJmMmE0In0= -->
forgejo-actions left a comment

Summary: No actionable defects found. The change is correct and complete; one informational note.

I verified the technical claims in the added comment block against pnpm 11.8.0 (the version pinned by packageManager and resolved by pnpm/action-setup@v5), by reading pnpm/dist/pnpm.mjs and by running the two spellings against a drifted workspace:

  • Default really is install. The config defaults table sets "verify-deps-before-run": "install", and an out-of-sync pnpm run reproduced the mid-run pnpm install re-invocation via runDepsStatusCheck.
  • pnpm_config_verify_deps_before_run is read raw, in addSettingsFromWorkspaceManifestToConfig: if (process.env.pnpm_config_verify_deps_before_run != null) pnpmConfig.verifyDepsBeforeRun = .... Setting it to "false" matches no case in the switch, so the auto-install is skipped. Confirmed by running the script with the env var set: no install fired.
  • The npm_config_ spelling is ignored. With npm_config_verify_deps_before_run=false, the auto-install still ran. The comment's warning is accurate, not defensive folklore.
  • The flag-dropping concern is real. createInstallArgs rebuilds only --production / --dev / --no-optional from the recorded workspace state, so --ignore-scripts and --ignore-pnpmfile are genuinely lost on the re-install. In release.yml that re-install could previously fire from pnpm exec semantic-release while both OIDC registry tokens were still in ~/.npmrc (that workflow never strips it), so the guard closes a concrete exposure.
  • Placement is valid and effective. Workflow-level env is supported by Forgejo's act fork: both model.Workflow and jobparser.SingleWorkflow carry an Env map[string]string field, so the value survives the single-job split. release.yml's workflow-level env does not propagate into the uses: ./.forgejo/workflows/checks.yml reusable-workflow call, but checks.yml carries its own copy, so there is no gap.
  • Coverage is complete. checks.yml, dedupe-check.yml, and release.yml are exactly the three workflows under .forgejo/workflows/ that invoke pnpm, and all three now carry the guard.

Code review by Claude Code Opus (opus)

**Summary:** No actionable defects found. The change is correct and complete; one informational note. I verified the technical claims in the added comment block against pnpm 11.8.0 (the version pinned by `packageManager` and resolved by `pnpm/action-setup@v5`), by reading `pnpm/dist/pnpm.mjs` and by running the two spellings against a drifted workspace: - **Default really is `install`.** The config defaults table sets `"verify-deps-before-run": "install"`, and an out-of-sync `pnpm run` reproduced the mid-run `pnpm install` re-invocation via `runDepsStatusCheck`. - **`pnpm_config_verify_deps_before_run` is read raw**, in `addSettingsFromWorkspaceManifestToConfig`: `if (process.env.pnpm_config_verify_deps_before_run != null) pnpmConfig.verifyDepsBeforeRun = ...`. Setting it to `"false"` matches no `case` in the switch, so the auto-install is skipped. Confirmed by running the script with the env var set: no install fired. - **The `npm_config_` spelling is ignored.** With `npm_config_verify_deps_before_run=false`, the auto-install still ran. The comment's warning is accurate, not defensive folklore. - **The flag-dropping concern is real.** `createInstallArgs` rebuilds only `--production` / `--dev` / `--no-optional` from the recorded workspace state, so `--ignore-scripts` and `--ignore-pnpmfile` are genuinely lost on the re-install. In `release.yml` that re-install could previously fire from `pnpm exec semantic-release` while both OIDC registry tokens were still in `~/.npmrc` (that workflow never strips it), so the guard closes a concrete exposure. - **Placement is valid and effective.** Workflow-level `env` is supported by Forgejo's act fork: both `model.Workflow` and `jobparser.SingleWorkflow` carry an `Env map[string]string` field, so the value survives the single-job split. `release.yml`'s workflow-level `env` does not propagate into the `uses: ./.forgejo/workflows/checks.yml` reusable-workflow call, but `checks.yml` carries its own copy, so there is no gap. - **Coverage is complete.** `checks.yml`, `dedupe-check.yml`, and `release.yml` are exactly the three workflows under `.forgejo/workflows/` that invoke pnpm, and all three now carry the guard. _Code review by Claude Code Opus (opus)_ <!-- axrecipe-review:v1:eyJzY2hlbWFWZXJzaW9uIjoxLCJzdGF0ZSI6InB1Ymxpc2hlZCIsInJlcG9zaXRvcnkiOiJqNGstb3NzL3Ryb3Brb2QtY2xpZW50IiwibnVtYmVyIjoiMTAiLCJoZWFkU2hhIjoiN2FkMmMzOTE2ZWRmN2IwODkzOTA2ZWI5YTA0NzFhMDg5Yjg5ZTJjNiIsInNsb3QiOiJmb3JnZWpvLXJldmlldy1jb2RlLXNtYXJ0LTEiLCJzb3VyY2VXb3JrZmxvd1J1bklkIjoiMTkzNzkiLCJzb3VyY2VHZW5lcmF0b3JBdHRlbXB0IjoiMSIsInJlc3VsdElkIjoiMmE3ZjRhOTQtY2M4Ny00OGQzLWI3OWQtM2M3MGRhNzUwMmM0In0= -->
@ -21,0 +26,4 @@
# pnpm_config_verify_deps_before_run raw from the environment, and the
# npm_config_ spelling is silently ignored.
env:
pnpm_config_verify_deps_before_run: "false"

ℹ️ Info: No action needed — noting for the record that this guard is inert in this particular workflow. In pnpm 11.8.0 the verifyDepsBeforeRun gate is only consulted by the run and exec command handlers (if (opts.verifyDepsBeforeRun) await runDepsStatusCheck(opts)); neither pnpm install nor pnpm dedupe reaches it. This file's only pnpm steps are pnpm install --frozen-lockfile --ignore-scripts --ignore-pnpmfile and pnpm dedupe --check --ignore-scripts --ignore-pnpmfile, so nothing here could have triggered the mid-run re-install.

Keeping it is still the right call: it costs nothing, it is what the managed render emits uniformly, and it pre-empts the trap the moment a pnpm <script> or pnpm exec step is ever added to this file. The load-bearing copies are the ones in checks.yml (which runs pnpm knip, pnpm build, pnpm run test, …) and release.yml (pnpm exec semantic-release).

ℹ️ **Info:** No action needed — noting for the record that this guard is inert in this particular workflow. In pnpm 11.8.0 the `verifyDepsBeforeRun` gate is only consulted by the `run` and `exec` command handlers (`if (opts.verifyDepsBeforeRun) await runDepsStatusCheck(opts)`); neither `pnpm install` nor `pnpm dedupe` reaches it. This file's only pnpm steps are `pnpm install --frozen-lockfile --ignore-scripts --ignore-pnpmfile` and `pnpm dedupe --check --ignore-scripts --ignore-pnpmfile`, so nothing here could have triggered the mid-run re-install. Keeping it is still the right call: it costs nothing, it is what the managed render emits uniformly, and it pre-empts the trap the moment a `pnpm <script>` or `pnpm exec` step is ever added to this file. The load-bearing copies are the ones in `checks.yml` (which runs `pnpm knip`, `pnpm build`, `pnpm run test`, …) and `release.yml` (`pnpm exec semantic-release`).
jercik merged commit c33aab75de into main 2026-08-08 10:01:18 +00:00
jercik deleted branch ci/reconcile-managed-workflows 2026-08-08 10:01:18 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
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
j4k-oss/tropkod-client!10
No description provided.