Skip to content

ELEMENTS-2115: Remove unused Sauce Labs wiring from the CI workflows [develop-2025] - #1763

Open
naveen-konda wants to merge 1 commit into
develop-2025from
task-ELEMENTS-2115-remove-sauce-labs-wiring-develop-2025
Open

naveen-konda wants to merge 1 commit into
develop-2025from
task-ELEMENTS-2115-remove-sauce-labs-wiring-develop-2025

Conversation

@naveen-konda

Copy link
Copy Markdown
Contributor

Problem

Dead Sauce Labs plumbing left over from the Karma → Web Test Runner migration. Nothing in this repo consumes Sauce Labs:

  • npm run test is web-test-runner against a Puppeteer-bundled Chromium — test.yaml already documents this in a comment on the step itself.
  • No sauce* package in package.json or package-lock.json.
  • SAUCE_ACCESS_KEY appears on the active branches only in main.yaml, develop.yaml and test.yaml — never in a step.

Yet the credential is passed into a reusable workflow that executes the whole dev dependency tree, for no benefit. test.yaml also declared it required: true, which is a latent trap: any new caller that omits the key fails at startup for a reason unrelated to the change being made.

Changes

File Change
test.yaml Remove the SAUCE_ACCESS_KEY entry from workflow_call.secrets
main.yaml Stop passing the secret into test.yaml
develop.yaml Same
cross-repo.yaml Stop sending sauce_labs in the nuxeo-web-ui dispatch inputs

Six deleted lines, no additions.

Beyond the ticket

develop.yaml is not in ELEMENTS-2115's scope list, but it passes the same dead secret into test.yaml. It has to change in the same commit — otherwise the reusable-workflow call fails on an undeclared secret.

Test plan

  • All workflow files parse as valid YAML after the edit.
  • git grep -E "SAUCE|sauce_labs" -- .github/ → no matches on this branch.
  • No step ever referenced the secret, so no job loses an input it was using.
  • After both sides merge: a manual cross-repo.yaml dispatch still triggers the Web UI cross-repo check.

Notes

⚠️ Merge this before WEBUI-2369

WEBUI-2369 removes the sauce_labs input declaration from nuxeo-web-ui's cross-repo.yaml. This PR removes the matching send here. A workflow_dispatch API call carrying an input the target workflow no longer declares is rejected with 422 Unexpected inputs provided.

Order matters in one direction only:

  • This PR first → safe. The Web UI workflow still declares sauce_labs; an input that is declared but not sent is simply unused.
  • WEBUI-2369 first → breaks the Elements cross-repo check on both branches.

That dispatch is live traffic, not theoretical — cross-repo.yaml runs completed as recently as today.

Scope item B — repository secrets

Deliberately not done. GKE_SA_KEY, GKE_PROJECT and SAUCE_ACCESS_KEY are retained by team decision. This PR deletes no secret.

Fixes ELEMENTS-2115

Dead plumbing left over from the Karma to Web Test Runner migration. Nothing in this repo
consumes Sauce Labs: `npm run test` is `web-test-runner` against a Puppeteer-bundled
Chromium, as `test.yaml` already documents in a comment on the step itself. There is no
`sauce*` package in `package.json` or `package-lock.json`.

- `test.yaml` - remove the `SAUCE_ACCESS_KEY` entry from `workflow_call.secrets`. It was
  declared `required: true` but never referenced by any step, which is also a latent trap:
  any new caller of `test.yaml` that omits the key fails at startup for a reason unrelated
  to the change being made.
- `main.yaml`, `develop.yaml` - stop passing the secret into `test.yaml`.
- `cross-repo.yaml` - stop sending `sauce_labs` in the `nuxeo-web-ui` dispatch inputs.

`develop.yaml` is not listed in the ticket - it passes the same dead secret into `test.yaml`
and so has to change in the same commit, otherwise the reusable-workflow call fails on an
undeclared secret.

Must merge before WEBUI-2369, which removes the `sauce_labs` input from the Web UI
`cross-repo.yaml`. A `workflow_dispatch` carrying an input the target workflow no longer
declares is rejected, so if the Web UI side lands first this repo's cross-repo check breaks.
Removing the line here first is safe in either order: an input that is declared but not sent
is simply unused.

No repository secret is deleted by this change. Scope item B is deliberately left open -
`GKE_SA_KEY`, `GKE_PROJECT` and `SAUCE_ACCESS_KEY` are retained by team decision.

(cherry picked from commit d456f1e)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Workflow callers remain consistent, and the receiving workflow’s default preserves dispatch behavior.

No open issues 🎉

What changed in this PR

Removes unused Sauce Labs wiring from CI while leaving repository secrets unchanged.

Changes:

  • Removes the test workflow’s Sauce Labs secret requirement and both callers’ secret forwarding.
  • Stops sending sauce_labs to Web UI; merge before WEBUI-2369 to preserve dispatch compatibility.
File Description
.github/​workflows/​test.yaml Removes the unused secret declaration.
.github/​workflows/​main.yaml Stops forwarding the secret from release CI.
.github/​workflows/​develop.yaml Stops forwarding the secret from development CI.
.github/​workflows/​cross-repo.yaml Removes the obsolete dispatch input.

Review effort: Balanced

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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