Skip to content

Stabilize GitHub Actions for monorepo CI/deploy with adaptive scope and self-healing retries#3

Draft
Copilot wants to merge 3 commits intomainfrom
copilot/improve-ci-cd-workflows
Draft

Stabilize GitHub Actions for monorepo CI/deploy with adaptive scope and self-healing retries#3
Copilot wants to merge 3 commits intomainfrom
copilot/improve-ci-cd-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 9, 2026

This update hardens PromptOS CI/CD workflows for flaky monorepo conditions (pnpm + Turbo + TypeScript) while preserving existing job intent and core commands. It adds adaptive execution, retry/recovery behavior, stronger safety controls, and better failure observability for both CI and web deploy paths.

  • CI resilience + adaptive scope (.github/workflows/ci.yml)

    • Added workflow_dispatch control (force_full_run) for manual override.
    • Added detect-changes gating via path filters to run lint/build only when relevant on PRs.
    • Added runtime auto-detection for Node (.nvmrc fallback) and pnpm (packageManager fallback).
    • Added retry + cache-recovery flow around install/type-check/lint/build (including backoff and pnpm store prune).
    • Added failure artifact uploads and structured $GITHUB_STEP_SUMMARY output.
    • Tightened concurrency grouping and explicit least-privilege job permissions.
  • Deploy robustness + guardrails (.github/workflows/deploy-web.yml)

    • Expanded workflow_dispatch inputs (ref, force_deploy, notify_on_failure) for controlled manual deployments.
    • Added retries for Vercel CLI install, env pull, build, and deploy (deploy uses backoff loop).
    • Added post-deploy health check against emitted deployment URL.
    • Added failure artifact upload + optional webhook notification (CI_FAILURE_WEBHOOK).
    • Kept deployment environment wiring and output contract intact (steps.deploy.outputs.url).
  • Dependabot + maintenance

    • Added .github/dependabot.yml for weekly updates across GitHub Actions and npm ecosystem.
    • Included improvements.md to document stabilization decisions and operational additions.
# Example: self-healing retry pattern now used in CI/deploy
- name: Install dependencies
  id: install-deps
  continue-on-error: true
  run: pnpm install --frozen-lockfile

- name: Retry Install dependencies
  if: steps.install-deps.outcome == 'failure'
  run: |
    sleep 5
    pnpm install --frozen-lockfile

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.

2 participants