Commit Graph

3006 Commits

Author SHA1 Message Date
mkorwel 9856a67b4c fix(ci): Create .npmrc file for GitHub Packages publishing
Updates the 'prepare-github-release.js' script to create an '.npmrc' file in the root directory.

This ensures that the 'npm publish' command is properly authenticated with the GitHub Packages registry, preventing the 'ENEEDAUTH' error during the publish step.
2025-10-22 00:34:01 -07:00
mkorwel 706a48629f ci(lint): Optimize dependency installation
Updates the 'lint.yml' workflow to use 'npm ci --only=dev'.

This ensures that only 'devDependencies' are installed, making the linting job faster and more efficient as it doesn't need to download and install the main application dependencies.
2025-10-22 00:30:33 -07:00
mkorwel 17b3b264e6 refactor(ci): Remove redundant smoke test bundle steps
Removes the 'smoke test bundle' steps from the 'test_linux', 'test_mac', and 'test_windows' jobs in 'ci.yml'.

This step is redundant as the e2e workflow is responsible for testing the final bundled artifact.
2025-10-22 00:24:22 -07:00
mkorwel 20a2430d89 fix(ci): Reorder build steps to prevent lockfile inconsistency
Reorders the steps in the 'publish-bundle' job to run the bundle creation and size check *before* modifying the package.json files for release.

This prevents the 'package-lock.json' from becoming out-of-sync, which was causing the 'npm ci' command in the bundle size action to fail.
2025-10-22 00:15:36 -07:00
mkorwel a7395df23a refactor(cli): Remove redundant generate from workspace test:ci script
Removes the 'npm run generate' command from the 'test:ci' script in 'packages/cli/package.json'.

This step was redundant because the root 'test:ci' script now runs 'npm run build' (which includes 'generate') before executing the workspace tests.
2025-10-21 23:43:10 -07:00
mkorwel b4f6191704 ci: Set fail-fast to false for all matrix jobs
Updates the 'test_linux', 'test_mac', and 'test_windows' jobs in 'ci.yml' to explicitly set 'strategy.fail-fast' to 'false'.

This ensures that all matrix variations for each job will run to completion, even if one of the variations fails. This provides a more complete picture of test status across all supported Node.js versions.
2025-10-21 23:36:07 -07:00
mkorwel 2dde05deb0 refactor(ci): Move bundle size check to build workflow
Moves the bundle size check from a separate job in 'ci.yml' to a step within the 'publish-bundle' job in 'build-and-publish.yml'.

This is a more logical location for the check and completely resolves the race condition where the '.npmrc' file created by the bundle size job could interfere with parallel unit test jobs.
2025-10-21 23:28:22 -07:00
mkorwel 6a6c344f49 refactor(ci): Remove redundant generate step from test:ci script
Removes the 'npm run generate' command from the 'test:ci' script in the root package.json.

This step was redundant because the 'npm run build' command, which is run first, already includes the 'generate' step.
2025-10-21 22:59:56 -07:00
mkorwel 4faa59fb72 fix(ci): Build packages before running unit tests
Updates the root 'test:ci' script to run 'npm run build' before the test execution steps.

This ensures that all workspace packages are compiled before Vitest runs, preventing 'Failed to resolve entry for package' errors when tests in one package import from another.
2025-10-21 22:55:08 -07:00
mkorwel 208e9e24bf fix(ci): Generate git-commit.js before running workspace tests
Updates the root 'test:ci' script to run 'npm run generate' before executing the workspace tests.

This ensures that the 'generated/git-commit.js' file is created before any unit tests are run, preventing the 'Cannot find module' error that was occurring in the CI environment.
2025-10-21 22:49:55 -07:00
mkorwel 5b2ad83372 refactor(build): Remove redundant lint job and dependency
Removes the redundant 'lint' job from 'build-and-publish.yml'.

This job was duplicating the linting efforts now handled by the dedicated 'lint.yml' workflow. The 'publish-bundle' job no longer declares an internal dependency on 'lint', as the orchestrator workflow ensures linting is completed before calling 'build-and-publish'.
2025-10-21 22:44:53 -07:00
mkorwel 5e2d2ecf76 fix(lint): Set fetch-depth to 0 to ensure full git history
Updates the checkout step in the 'lint.yml' workflow to use 'fetch-depth: 0'.

This is necessary to prevent intermittent failures in the sensitive keyword linter, which requires a full git history to reliably compare the current branch against 'origin/main'.
2025-10-21 22:41:06 -07:00
mkorwel 5fa0e5520f fix(lint): Explicitly set fetch-depth to 1
Explicitly sets 'fetch-depth: 1' in the checkout step of the 'lint.yml' workflow.

This makes the default behavior of fetching only the most recent commit explicit for clarity and consistency with other jobs that perform shallow clones.
2025-10-21 22:37:35 -07:00
mkorwel 1a5742efec refactor(ci): Create reusable lint workflow and define dependencies
Creates a new reusable workflow, 'lint.yml', to handle all linting operations.

The main 'orchestrator.yml' is updated to use this new workflow. The dependency chain is now explicitly defined: 'lint' runs first, followed by 'build-and-publish' and 'ci' in parallel. The 'e2e' job remains dependent on 'build-and-publish'.

This change also removes the now-unused 'version' input from 'ci.yml' and corrects the 'bundle_size' job to use 'npm ci'.
2025-10-21 22:29:22 -07:00
mkorwel 56f1ffe14f refactor(ci): Use npm ci and remove published package install
Replaces the explicit GitHub Packages configuration and published package installation with 'npm ci' in the 'test_linux', 'test_mac', and 'test_windows' jobs within 'ci.yml'.

This streamlines the unit testing process by focusing on the source code dependencies and avoids misleadingly installing the published package in the unit test phase. The 'bundle_size' job retains its specific install as it requires the published artifact.
2025-10-21 22:23:36 -07:00
mkorwel 118e3176e8 fix(cli): Ensure git-commit.js is generated before unit tests
Updates the 'test:ci' script in 'packages/cli/package.json' to run 'npm run generate' before 'vitest run'.

This ensures that the '../../generated/git-commit.js' file, which is required by some telemetry modules, is created before unit tests attempt to import it, resolving the 'Cannot find module' error during CI runs.
2025-10-21 22:19:08 -07:00
mkorwel e03570f99e fix(workflows): namespace concurrency groups
Prefixes the concurrency group names in 'ci.yml' and 'e2e.yml' with 'ci-' and 'e2e-' respectively.

This prevents the workflows from canceling each other out when they are triggered by the same orchestrator workflow, as the 'github.workflow' context variable was resolving to the same value for both.
2025-10-21 22:00:49 -07:00
mkorwel 33fc71b22e refactor(ci): centralize workflow permissions
Consolidates all job-level permissions into a single workflow-level block in 'ci.yml'.

This simplifies the workflow configuration and makes it easier to manage permissions. The workflow-level permissions now include all necessary permissions for the 'test_linux', 'test_mac', 'codeql', and 'bundle_size' jobs.
2025-10-21 21:54:38 -07:00
mkorwel f6727cc14f fix(workflows): Add packages:read permission and rename orchestrator
Adds 'packages: read' permission to the 'ci.yml' and 'e2e.yml' workflows. This is necessary to allow the jobs to download packages from the GitHub Packages registry, fixing the 403 Forbidden error during 'npm install'.

Also renames the 'orchestrator.yml' workflow from 'PR Checks' to 'Checks' for brevity.
2025-10-21 21:48:31 -07:00
mkorwel 2e0bf57e63 linting 2025-10-21 21:40:43 -07:00
mkorwel 27fceb9679 remove merge check 2025-10-21 21:29:37 -07:00
mkorwel a6c9eaabf6 Feat: Implement dynamic versioning and PR-based tagging for CI builds 2025-10-21 21:08:37 -07:00
mkorwel dc3072c597 Fix: Remove concurrency from orchestrator.yml to resolve deadlock 2025-10-21 20:54:49 -07:00
mkorwel 4a0b341575 Remove 'private' field from root package.json to enable publishing 2025-10-21 20:50:59 -07:00
mkorwel f0ccf3e52d include githuboutput 2025-10-21 20:45:43 -07:00
mkorwel cc5ce59dca waht hwat 2025-10-21 20:40:27 -07:00
mkorwel 1eba9123de what 2025-10-21 20:38:19 -07:00
mkorwel 7226817a6b fix(ci): correct syntax in orchestrator permissions 2025-10-21 20:37:07 -07:00
mkorwel 111c598ed9 fix(ci): correct syntax in orchestrator permissions 2025-10-21 20:26:51 -07:00
mkorwel d66884a38b fix(ci): restore full explicit permissions to orchestrator 2025-10-21 20:25:47 -07:00
mkorwel 4155f7404b fix(ci): simplify orchestrator permissions to read-all 2025-10-21 20:23:56 -07:00
mkorwel 6038f48241 fix(ci): add all required read permissions to orchestrator 2025-10-21 20:20:02 -07:00
mkorwel af5b5d5ccc fix(ci): add actions:read permission to orchestrator 2025-10-21 20:18:51 -07:00
mkorwel 2530610a59 fix(ci): grant check and status write permissions to orchestrator 2025-10-21 20:17:20 -07:00
mkorwel 69f9bfb67b fix(ci): add permissions to orchestrator workflow 2025-10-21 20:13:05 -07:00
mkorwel 4955b470db orchestrator 2025-10-21 20:07:37 -07:00
mkorwel ff3398f297 feat(ci): Implement orchestrator workflow for unified build and test 2025-10-21 19:21:59 -07:00
matt korwel 8383974276 Merge branch 'main' into mk-bundling-no-npmrc 2025-10-21 18:50:25 -07:00
mkorwel 7bfa1de1b3 pushing changes to publish first 2025-10-21 18:47:32 -07:00
mkorwel a28ff41a75 fix(ci): Add npmrc configuration to E2E workflow
This commit adds a step to the E2E workflow to create an .npmrc file and configure it with the necessary credentials for the GitHub Packages registry. This resolves the '401 Unauthorized' error that was occurring during the 'npm ci' step.
2025-10-21 18:46:31 -07:00
mkorwel 46b1c59a47 feat(dev-experience): Automate npmrc configuration for dev vs prod
This PR introduces a new, automated workflow for developers to switch between the development (GitHub Packages) and production (npmjs.org) npm registries.

- A new script, , now automatically backs up and modifies the user's global  file.
-  has been updated with  and  scripts to run this new script.
-  has been updated to reflect this new, simplified, and automated process, removing all manual steps for the user.
2025-10-21 18:46:20 -07:00
Tommaso Sciortino beed1515c2 Add aria labels to Todo list display (#11621) 2025-10-21 18:46:20 -07:00
mkorwel 5e58f5ea3c feat: Unify CLI bundling and publishing process
This commit unifies the bundling and publishing process for the CLI package across both npmjs.org and GitHub Packages.

- The  script has been updated to only rename packages for the GitHub registry, removing the bundle copying and package.json modification logic.
- The  has been modified to remove the  flag from the CLI publish step, ensuring the root package (which includes the bundled executable) is published.

This ensures a consistent, bundled artifact is published to both registries.
2025-10-21 18:46:20 -07:00
James 9fadff531a feat(cli): Adds the ability to run MCP prompt commands in non-interactive mode (#10194)
Co-authored-by: Allen Hutchison <adh@google.com>
2025-10-21 18:46:20 -07:00
Silvio Junior 57789e2e34 fix(config): Disable CI for stable release (#11615) 2025-10-21 18:46:20 -07:00
Tommaso Sciortino cc3904f026 Add aria labels to Todo list display (#11621) 2025-10-22 00:39:49 +00:00
James ed9f714fbb feat(cli): Adds the ability to run MCP prompt commands in non-interactive mode (#10194)
Co-authored-by: Allen Hutchison <adh@google.com>
2025-10-21 23:40:13 +00:00
Silvio Junior 5b750f519b fix(config): Disable CI for stable release (#11615) 2025-10-21 23:36:41 +00:00
matt korwel 465f97a528 fix: Improve patch workflow and update NOTICES.txt (#11623) 2025-10-21 16:45:32 -07:00
mkorwel 989352f557 feat: Add NOTICES.txt validation to CI workflow
fix: Update NOTICES.txt to reflect current dependencies
2025-10-21 16:35:56 -07:00