Commit Graph

369 Commits

Author SHA1 Message Date
mkorwel 69cb84d43e fix(ci): add unique cache key for npmrc generation 2025-10-27 10:04:26 -07:00
mkorwel 555105ddcb fix(ci): reorder npm configuration step 2025-10-27 09:54:04 -07:00
mkorwel 884d5a4aa2 fix(ci): correct inputs for Get core Token step 2025-10-27 09:48:33 -07:00
mkorwel 03cfcfca0b fix(ci): restore non-bundle release path 2025-10-24 11:30:40 -07:00
mkorwel 7c81b1837e pr clean up 2025-10-24 09:02:32 -07:00
mkorwel 6502f99619 docker pull 2025-10-24 08:23:42 -07:00
mkorwel aecfa04862 permissions 2025-10-24 08:10:30 -07:00
mkorwel 5d1d0d569f fix(e2e): grant package read permissions to e2e job
This ensures the reusable e2e workflow has the necessary permissions to pull the sandbox image from GHCR.
2025-10-23 22:40:27 -07:00
mkorwel 0c21f374f3 fix(orchestrator): remove ci dependency from e2e workflow
The e2e workflow in orchestrator.yml was incorrectly depending on the ci workflow. These are separate concerns and e2e should not depend on ci. This commit removes the ci dependency from the e2e workflow.
2025-10-23 22:27:38 -07:00
matt korwel 3e3d71297a Merge branch 'main' into mk-bundling-no-npmrc 2025-10-23 22:16:38 -07:00
mkorwel 82f2bd9b44 feat: add npm-run-all to dev dependencies
fix(e2e): add docker login to e2e workflow

The e2e tests were failing due to an authentication error when pulling the sandbox docker image. This was because the docker login step was missing from the e2e workflow.

This change adds the docker login step to the e2e workflow and also adds "npm-run-all" to the dev dependencies, which was missing and caused the linting to fail.
2025-10-23 22:10:38 -07:00
mkorwel 4ee0820117 fix(ci): expand get-vars job and update dependencies in orchestrator
Expanded the `get-vars` job in `orchestrator.yml` to output `npm-registry-scope` and `npm-registry-url` in addition to `cli-package-name`. The `build-and-publish` and `e2e` jobs now correctly depend on `get-vars` and consume all three outputs, ensuring proper plumbing of environment variables for the Docker build.
2025-10-23 15:20:36 -07:00
mkorwel 070b74bb83 fix(ci): restore get-vars job to orchestrator workflow
Restores the `get-vars` job to the `orchestrator` workflow. This job was accidentally removed and is necessary for passing the `CLI_PACKAGE_NAME` to the `e2e` tests, which is required for the Docker build.
2025-10-23 15:14:08 -07:00
mkorwel 973573ef49 fix(ci): restore ci job to orchestrator workflow
Re-adds the `ci` job to the `orchestrator` workflow, which was
accidentally removed. The `e2e` job is also updated to correctly
depend on the `ci` job.
2025-10-23 14:42:29 -07:00
mkorwel 6f4c9a5317 fix(ci): correct workflow variable passing
- Adds explicit inputs for variables required by the reusable
  `build-and-publish` workflow.
- Updates the `orchestrator` workflow to pass these variables correctly.
- Removes a duplicated job from the `orchestrator` workflow.
2025-10-23 14:36:29 -07:00
shishu314 48ff9e1555 fix(infra) - Fix merge queue skipper issues for chain e2e (#11810)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-10-23 20:46:46 +00:00
shishu314 7787a31f81 feat(infra) - Make merge group and pushes run chained e2e (#11796)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-10-23 17:14:40 +00:00
mkorwel c9a3d28d99 refactor(ci): simplify sandbox build process
- Replaces the `build_sandbox.js` script with a direct `docker build`
  command in the `build-and-publish` workflow.
- Deletes the now-redundant `build_sandbox.js` and
  `sandbox_command.js` scripts.
- This makes the sandbox build process more transparent and removes
  unnecessary complexity.
2025-10-23 10:14:32 -07:00
mkorwel 6831c79c0a fix(ci): remove redundant npm install in sandbox build
Removes the unnecessary `npm install` step from the
`build-and-publish-sandbox` job. The Dockerfile is responsible
for installing the correct version of the package, so this step
was redundant.
2025-10-23 10:11:58 -07:00
mkorwel 14707b6d5e refactor(ci): consolidate sandbox build into publish workflow
- Moves the sandbox build and publish logic into the main
  `build-and-publish` workflow.
- The sandbox image is now built *after* the NPM package is published,
  and uses the published package.
- Removes the redundant `build-sandbox` and `release-sandbox` workflows.
- Updates the `orchestrator` workflow to reflect these changes.
2025-10-23 09:52:11 -07:00
mkorwel a4b05d8346 fix(ci): remove sandbox build from e2e workflow
Removes the sandbox image build step from the e2e workflow.
The e2e workflow will now consume a pre-built sandbox image,
separating the concerns of building and testing.
2025-10-23 09:48:19 -07:00
matt korwel 256ccd8d23 Merge branch 'main' into mk-bundling-no-npmrc 2025-10-23 09:38:54 -07:00
mkorwel dea79901a5 fix(release): update docker push action to use ghcr.io
Updates the release-sandbox workflow to use the push-docker action,
which is configured to push to ghcr.io.

Also updates the push-docker action to use `github.repository_owner`
as the username for ghcr.io login, which is the recommended practice.
2025-10-23 09:30:32 -07:00
shishu314 8ad72ec1ae fix(infra) - Remove context input for setting status (#11734)
Co-authored-by: gemini-cli-robot <gemini-cli-robot@google.com>
2025-10-23 16:27:53 +00:00
Smetalo d3e4ff2cfc feat: Add lychee-action to check for broken links (#11781)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-10-23 15:50:41 +00:00
mkorwel 0d55843c4a incorporating docker into new orchestrator 2025-10-23 08:40:10 -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
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
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
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 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