Commit Graph

3045 Commits

Author SHA1 Message Date
mkorwel 7b83236ab2 fix(e2e): mock ClearcutLogger to fix test runner dependency 2025-10-22 16:17:23 -07:00
mkorwel 30770bf362 refactor(ci): remove debug npmrc step from build-and-publish 2025-10-22 14:26:28 -07:00
mkorwel d83ecc4585 fix(ci): correct npm publish authentication in build-and-publish workflow 2025-10-22 14:20:36 -07:00
mkorwel 1da17999c7 linting 2025-10-22 14:01:32 -07:00
mkorwel 2797039239 fix: correct invalid workflow syntax in e2e 2025-10-22 13:39:29 -07:00
mkorwel e03dc0d603 fix: correct invalid workflow syntax in orchestrator 2025-10-22 13:36:32 -07:00
matt korwel 642adf350f Merge branch 'main' into mk-bundling-no-npmrc 2025-10-22 13:32:24 -07:00
mkorwel 6058c1be45 feat: address PR feedback
- Use reusable npmrc action in workflows
- Make package name dynamic in e2e tests
- Add rationale for configure-registry script
- Force orchestrator to run in dev environment
2025-10-22 13:31:07 -07:00
Abhi b40f67b76a extract console error to util func (#11675) 2025-10-22 20:09:10 +00:00
shishu314 a7faa2080f feat(infra) - Update status for chained e2e (#11651)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-10-22 20:01:02 +00:00
mkorwel f0541c35ac feat(ci): Parallelize linting and move to larger runner
This change parallelizes the linting tasks in package.json and moves the lint job to a larger runner for a significant performance improvement. It also fixes an infinite loop that was introduced during the refactoring.
2025-10-22 12:48:55 -07:00
mkorwel b255e904fd chore(ci): Optimize runner usage for lightweight jobs 2025-10-22 12:40:05 -07:00
mkorwel be08763cfa fix(ci): Pass GEMINI_API_KEY secret to E2E workflow 2025-10-22 12:34:19 -07:00
mkorwel dc2aa1ead7 fix: Centralize workflow concurrency in orchestrator 2025-10-22 12:27:39 -07:00
matt korwel ce0bed07c6 Merge branch 'main' into mk-bundling-no-npmrc 2025-10-22 12:19:52 -07:00
mkorwel b6887db096 fix: Safely restore .npmrc from backup 2025-10-22 12:19:23 -07:00
mkorwel a9834cc6c3 fixing url parsing 2025-10-22 12:16:45 -07:00
Adib234 6d75005afc Add setting to disable YOLO mode (#11609)
Co-authored-by: Shreya Keshive <shreyakeshive@google.com>
2025-10-22 18:57:10 +00:00
mkorwel 8a1d905fd6 feat: Refactor release process for bundling
This change refactors the release process to support a new bundle-based publishing method while maintaining backward compatibility for existing release and patch workflows.

Key changes:
- The `publish-release` composite action now includes a `use-bundle-release` input (string, default 'false') to conditionally switch between the old source-based publishing and the new bundle-based method.
- The `release-nightly.yml` workflow is updated to use the new bundle-based process (`use-bundle-release: 'true'`).
- The `release-manual.yml` workflow includes a new `use_bundle_release` input (defaulting to false) to allow for manual testing of either release method.
- Existing `release-promote.yml` and patch workflows remain unchanged, ensuring they continue to use the old, non-bundled process for backward compatibility.
2025-10-22 11:54:18 -07:00
shishu314 5bb9cd1a13 feat(infra) - Create a workflow for deflake (#11535)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-10-22 18:41:26 +00:00
mkorwel a35e4436a0 feat: Refactor release process for bundling
This change refactors the release process to support a new bundle-based publishing method while
maintaining backward compatibility for existing release and patch workflows.

Key changes:
- The  composite action now includes a  input (string, default 'false') to conditionally switch between the old source-based publishing
the new bundle-based method.
- The  workflow is updated to use the new bundle-based process ().
- The  workflow includes a new  input (defaulting to false) to allow for manual testing of either release method.
- Existing  and patch workflows remain unchanged, ensuring they continue to use the old, non-bundled process for backward compatibility.
2025-10-22 11:24:50 -07:00
kevinjwang1 0bf2a0353d Add extension alias for extensions command (#11622) 2025-10-22 18:24:32 +00:00
Sandy Tao ce655436ef fix(test): unskip and fix useToolScheduler tests (#11671) 2025-10-22 17:45:50 +00:00
gemini-cli-robot 59985138f7 chore(release): bump version to 0.12.0-nightly.20251022.0542de95 (#11672) 2025-10-22 17:37:25 +00:00
matt korwel 0542de95eb fix(release): Pass args to promoteNightlyVersion (#11666)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-10-22 09:45:42 -07:00
Tommaso Sciortino dc90c8fec7 Updates to package-lock.json from running npm install (#11665) 2025-10-22 16:37:33 +00:00
Mayur Vaid 0d7da7ecb1 fix(mcp): Include path in oauth resource parameter (#11654) 2025-10-22 15:48:47 +00:00
christine betts 73b1afb106 Remove errant console.debug log of config (#11579) 2025-10-22 14:13:42 +00:00
Smetalo d1c913ed5c Docs: Fix broken telemetry link in docs/cli/configuration.md (#11638) 2025-10-22 11:55:34 +00:00
mkorwel f09e38ee0e linting 2025-10-22 01:26:54 -07:00
mkorwel 8c9494eb70 fix(ci): Add npm config step to e2e_linux job
Adds the 'Configure npm for GitHub Packages' step to the 'e2e_linux' job in 'e2e.yml'.

This was missing, causing the job to fail when trying to install the test package from the GitHub Packages registry.
2025-10-22 01:09:09 -07:00
mkorwel ec7f503d13 fix(ci): Add 'packages: read' permission to bundle-size workflow
Adds the 'packages: read' permission to the 'bundle-size.yml' workflow.

This is necessary to allow the job to download the package from the GitHub Packages registry to perform the size check.
2025-10-22 01:06:44 -07:00
mkorwel b21a5a0c3c debug(ci): Add .npmrc debug step after prepare-github-release
Adds a debug step to the 'build-and-publish.yml' workflow to print the contents of the .npmrc file immediately after the 'prepare-github-release.js' script runs.

This will help determine if the 'prepare-github-release.js' script is inadvertently modifying or overwriting the .npmrc file, which could be causing the 'ENEEDAUTH' error during the publish step.
2025-10-22 01:00:39 -07:00
mkorwel 2f179d1886 debug(ci): Add .npmrc debug step to build workflow
Adds a debug step to the 'build-and-publish.yml' workflow to print the contents of the .npmrc file immediately before the 'npm publish' step.

This will help diagnose the 'ENEEDAUTH' error by showing the exact state of the npm configuration at the time of failure.
2025-10-22 00:57:17 -07:00
mkorwel 430e9c68d7 refactor(ci): Move bundle size check to a parallel job
Creates a new reusable workflow, 'bundle-size.yml', to handle the bundle size check.

This check is now run in a separate job in the main 'orchestrator.yml' workflow, parallel to the 'e2e' job. This optimizes the CI pipeline by allowing the E2E tests to start as soon as the bundle is published, without waiting for the size check to complete.
2025-10-22 00:54:20 -07:00
mkorwel 2513dd929d revert(ci): Remove incorrect .npmrc creation from prepare-github-release.js
Reverts the change that added .npmrc creation logic to 'scripts/prepare-github-release.js'.

This logic was incorrectly overwriting the .npmrc file that is correctly configured by the 'Configure npm for GitHub Packages' step in the 'build-and-publish.yml' workflow, leading to authentication failures during npm publish.

The workflow itself already handles the .npmrc creation correctly, and this revert ensures that the correct authentication token is preserved.
2025-10-22 00:46:39 -07:00
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