Skip to content

fix: comprehensive workflow and build reliability fixes#411

Merged
vicperdana merged 8 commits into
mainfrom
fix/workflow-comprehensive-fixes
Apr 22, 2026
Merged

fix: comprehensive workflow and build reliability fixes#411
vicperdana merged 8 commits into
mainfrom
fix/workflow-comprehensive-fixes

Conversation

@vicperdana
Copy link
Copy Markdown
Contributor

Addresses all issues found in a comprehensive rubber-duck review of workflows and build scripts post-monorepo migration.

🔴 Blockers Fixed

Fix File(s)
Install InvokeBuild in CI build-psdocs job ci.yml
Trust PSGallery before Install-Module calls scripts/pipeline-deps.ps1
Pass tag version to release builds (-Build) release-psdocs.yml, release-psdocs-azure.yml
Fix gh release create flag conflict (--notes-file + --generate-notes) All 3 release workflows
Fix CHANGELOG path (non-existent package-level file) release-psdocs-azure.yml
Migrate ESLint 9 flat config (legacy .eslintrc.json unsupported) packages/vscode-extension/
Fix hashFiles glob (directory path → /** pattern) ci.yml
Fix PSModulePath separator for Linux/macOS build/common.ps1

🟡 Warnings Fixed

Fix File(s)
Fix VSCE_PAT conditional (step-level env not visible in if:) vscode-ci.yml
Pin microsoft/ps-docs@main to SHA docs.yaml
Fix site_url to actual published docs URL mkdocs.yml
Expand CI path filter to include root build files ci.yml
Delete inert subtree workflow (GitHub ignores it) packages/psdocs/.github/workflows/build.yaml

Commits

  1. CI bootstrap and build reliability — InvokeBuild install, PSGallery trust, hashFiles, PSModulePath, path filter
  2. Release workflow fixes — version passthrough, gh flags, CHANGELOG path
  3. ESLint 9 migration — flat config for VS Code extension
  4. Docs, VS Code CI, cleanup — pin ps-docs, fix site_url, VSCE_PAT, delete inert workflow

Note on open PRs

@vicperdana vicperdana requested a review from a team as a code owner April 22, 2026 02:35
vicperdana and others added 4 commits April 22, 2026 13:30
- Install InvokeBuild in build-psdocs job (was missing, causing failure)
- Trust PSGallery in pipeline-deps.ps1 (avoids interactive prompts on CI)
- Fix hashFiles glob: use /** pattern instead of directory path
- Fix PSModulePath separator: use [IO.Path]::PathSeparator for cross-platform
- Expand CI path filter to include root build files and scripts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Pass tag version to Invoke-Build via -Build parameter (was defaulting
  to 0.0.1 because version was extracted but never used)
- Fix gh release create: remove --generate-notes (conflicts with
  --notes-file, gh rejects the combination)
- Fix CHANGELOG path: use repo root CHANGELOG.md for psdocs-azure
  (packages/psdocs-azure/CHANGELOG.md doesn't exist)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ESLint ^9.x dropped support for .eslintrc.json and the --ext flag.
npm run lint would fail on CI.

- Create eslint.config.mjs (flat config format)
- Add typescript-eslint and @eslint/js dependencies
- Update lint script: remove --ext ts flag
- Delete legacy .eslintrc.json

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix VSCE_PAT check: use secrets context instead of step-level env
  (step env not available at if: evaluation time)
- Pin microsoft/ps-docs to SHA (was @main, supply chain risk)
- Fix site_url in mkdocs.yml to actual published docs URL
- Delete inert packages/psdocs/.github/workflows/build.yaml
  (GitHub ignores workflows outside root .github/workflows/)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vicperdana vicperdana force-pushed the fix/workflow-comprehensive-fixes branch from 0d239a9 to d83e8c2 Compare April 22, 2026 03:30
vicperdana and others added 4 commits April 22, 2026 13:36
- Add .NET 7.0 to build-psdocs job (PSDocs subtree targets net7.0)
- Regenerate package-lock.json after adding typescript-eslint and
  @eslint/js dependencies for ESLint 9 flat config migration

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The recommended presets added strict rules (no-require-imports,
no-explicit-any, no-unused-vars, no-var, prefer-const) that the
original .eslintrc.json did not enforce. Disable these to maintain
parity with the subtree source code.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Regenerate template README files to match test expectations
  (tests use New-PSDocumentOption without badge conventions, so
  committed READMEs must not include badge lines)
- Remove @types/glob (incompatible with glob@11's bundled minimatch
  types; glob@11 has built-in TypeScript definitions)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
vsce package rejects @types/vscode versions greater than engines.vscode.
Pin @types/vscode to ~1.89.0 to match the extension's minimum VS Code
engine requirement.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vicperdana vicperdana requested a review from BernieWhite April 22, 2026 04:50
@vicperdana vicperdana merged commit 9cbc765 into main Apr 22, 2026
10 checks passed
@vicperdana vicperdana deleted the fix/workflow-comprehensive-fixes branch April 22, 2026 12:23
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