Skip to content

Remove the secrets no workflow has and the product workflow folders GitHub never runs - #121

Merged
jwrosewell merged 1 commit into
rcfrom
ci/dead-secrets
Nov 14, 2026
Merged

jwrosewell merged 1 commit into
rcfrom
ci/dead-secrets

Conversation

@jwrosewell

@jwrosewell jwrosewell commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

Closes #18.

Problem

The root workflows pass three secrets that do not exist, DEVICE_DETECTION_URL, CSV_URL and TEST_PYPI_TOKEN. On 13 November the repository had one secret, DEVICE_DETECTION_KEY, and none of the 53 organisation secrets it can use has any of those names, so GitHub passed each one as an empty string. ci/fetch-assets.ps1 and device-detection/ci/fetch-assets.ps1 took the two URLs, and the product CI readmes listed DEVICE_DETECTION_URL and TEST_PYPI_TOKEN. A reader could not tell which secrets the CI really needs.

The products also kept the workflow folders of the repositories they came from, pipeline/.github/workflows, device-detection/.github/workflows, ip-intelligence/.github/workflows and location/.github/workflows. GitHub's workflows page says "Workflows are defined in the .github/workflows directory in a repository" and "GitHub searches the .github/workflows directory in the root of your repository", so none of the 24 files in those folders ever ran, and each repeated the dead secrets.

What was checked

  • common-ci declares CsvUrl, DeviceDetectionUrl and TestPypiToken among the secrets of nightly-pull-request.yml (lines 66, 68 and 86), nightly-publish.yml (79, 81 and 98) and release-pull-request.yml (58, 60 and 78), each with no required, so a caller may leave them out.
  • Both routes into ci/fetch-assets.ps1 pass only the keys it declares, being steps/run-script.ps1 lines 17 and 18 and the prefetch action, .github/actions/prefetch_assets/action.yml lines 56 to 59. So neither passes a key the script no longer takes.
  • steps/download-data-file.ps1 line 15 uses the distributor address with the licence key when Url is empty, and a [string] parameter that is not passed is an empty string, so the data files come from the same address as before.
  • These are secret names and script parameters, not environment variables that a package, test, example or CI script of this repository reads. common-ci's list of environment variable names, at common-ci#320's head line 84, gives DEVICE_DETECTION_URL only as the Rust examples workflow's own variable, and has neither of the other two.
  • Every workflow in the product folders has a root copy except two. device-detection/.github/workflows/example-assets-update.yml refreshes the web examples' shared stylesheet and script from the latest examples assets release. .NET, Java, Node.js, PHP and Rust each run it from their root (Java, Node.js, PHP and Rust at 03:00 on Mondays, .NET at 03:30), and steps/update-example-assets.ps1 lines 37 to 40 refreshes every tracked copy by name, which finds this repository's six examples-main.min.css copies from the root. pipeline/.github/workflows/examples.yml ran the cloud request engine examples' tests on demand on one Linux runner with Python 3.11, and pipeline/ci/run-integration-tests.ps1 line 33 already lists fiftyone_pipeline_cloudrequestengine/examples, so the pull request and nightly builds run those tests on every configuration. cloud-51did.yml is already at the root.

What changed

No package code changes. The release plan counts the five files removed from location/.github/workflows as changes to fiftyone_location (the dry run below reports it "changed since 4.5.10 (5 files)"), but fiftyone_location depends on fiftyone_pipeline_core, fiftyone_pipeline_engines and fiftyone_pipeline_cloudrequestengine (ci/packages.json lines 120 to 130), which Monday releases anyway, so this draft adds no package to the release.

Checks

This draft changes only workflows, CI scripts and their readmes. James Rosewell decided at about 11:35 UTC on 12 November, for such a change, "rebuild and include, but the change doesn't impact the code so no need to run the full builds", so it has no full build of its own.

What remains

Nothing in this draft. The last release into main was #114, merged at 06:22 UTC on 13 November.

…itHub never runs

The root workflows passed DEVICE_DETECTION_URL, CSV_URL and TEST_PYPI_TOKEN,
which are not secrets of this repository or the organisation, so each was an
empty string. ci/fetch-assets.ps1 and device-detection/ci/fetch-assets.ps1 no
longer take the two URLs, and the product CI readmes no longer list them.

GitHub runs workflows only from the root .github/workflows, so the four
product folders never ran. The example asset update is the one workflow there
with no root copy, and it moves to the root on Monday at 03:45 UTC, apart from
the other repositories' updates. The on-demand examples workflow is dropped,
as the pull request and nightly builds run those tests on every configuration.

Closes #18.
@jwrosewell
jwrosewell marked this pull request as ready for review November 14, 2026 04:01
@jwrosewell
jwrosewell merged commit 3f936f8 into rc Nov 14, 2026
3 checks passed
@jwrosewell
jwrosewell deleted the ci/dead-secrets branch November 14, 2026 04:01
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.

1 participant