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.
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.
Removes the `npm run build:sandbox` command from the `test:integration:sandbox:docker` script. This prevents the E2E tests from attempting to rebuild the Docker image, which is now handled by a separate workflow. The tests will instead use the pre-built image specified by the `GEMINI_SANDBOX_IMAGE` environment variable.
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.
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.
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.
- 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.
Adds a `chown` command to the Dockerfile to grant the `node` user
write permissions to the `/usr/local/share/npm-global` directory.
This resolves an `EACCES` permission denied error during the `npm install -g`
step in the Docker 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.
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.
- 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.
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.
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.