Sitelet https://github.com/limitless-angular/limitless-angular/pull/82
Skip to content

fix(ci): bound jobs and bypass hanging browser installation - #82

Merged
osnoser1 merged 1 commit into
mainfrom
osnoser1/fix-release-ci-hang
Sep 19, 2026
Merged

osnoser1 merged 1 commit into
mainfrom
osnoser1/fix-release-ci-hang

Conversation

@osnoser1

Copy link
Copy Markdown
Member

PR Checklist

Release validation in run 29212494292 ran for 5h 54m before manual cancellation. The jobs had no explicit timeout and grouped Turbo logs hid the stalled subprocess. Locally, Playwright 1.44.1 on Node 24.17.0 hangs extracting Chromium after download, consistent with the upstream extraction issue. The original run's buffered logs prevent definitive attribution.

What is the new behavior?

  • Cap ordinary CI jobs at 5 minutes and release, presentation E2E, and autofix jobs at 10 minutes each.
  • Run release validation and publishing in the matching Playwright container, passing its browser path through Turbo and skipping browser installation when that path is configured.
  • Select Bash explicitly for release workflow scripts and trust the checked-out workspace inside the containers.
  • Stream release and nested compatibility task logs so progress is visible before a task completes.
  • Cover timeouts, container configuration, shell selection, environment forwarding, and browser-install skipping in the existing tests.

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

Testing

Passed locally:

  • pnpm turbo run test --filter=@limitless-angular/release-tools --filter=@limitless-angular/angular-compat
  • pnpm test
  • pnpm --filter @limitless-angular/sanity test
  • pnpm --dir tools/angular-compat exec node cli.mjs release-parity
  • pnpm exec prettier --check .github/workflows/release-and-publish.yml .github/workflows/release-dry-run.yml tools/release/src/pipeline.mjs tools/release/src/pipeline.test.mjs tools/angular-compat/orchestration-contract.test.mjs
  • git diff --check

A bounded local release dry run passed packing and artifact validation, reproduced the browser extraction hang, and was terminated. The updated Linux container workflow still needs verification on GitHub; a complete release dry run has not passed locally.

Operational impact: slow jobs now fail at their configured limit rather than consuming hours of runner time. Limits apply per job, including each matrix job. No secrets or application migrations are required. Roll back by reverting this commit. No UI changes.

[Optional] What gif best describes this PR or how it makes you feel?

N/A

@netlify

netlify Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for limitless-angular-sanity-example canceled.

Name Link
🔨 Latest commit c022067
🔍 Latest deploy log https://app.netlify.com/projects/limitless-angular-sanity-example/deploys/6aadecb44830170008f022cc

@github-actions

Copy link
Copy Markdown

Angular canary compatibility warning

The advisory Angular canary compatibility check failed. This does not block the PR because canary targets are outside the currently required support matrix.

Supported peer range: ^20.0.0 || ^21.0.0 || ^22.0.0
Workflow run: CI #433

Canary set Target Tested versions First failure
angular-next Angular next Angular 22.2.0-rc.0, CLI 22.2.0-rc.0, TypeScript 6.0.3 ✘ [ERROR] Unsupported syntax, expected an object literal. [plugin angular-compiler]

Stable Angular compatibility rows remain required and will still fail CI if the declared peer range is broken.

@osnoser1
osnoser1 merged commit 5a2267c into main Sep 19, 2026
17 checks passed
@osnoser1
osnoser1 deleted the osnoser1/fix-release-ci-hang branch September 19, 2026 02:07
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