feat: optional GitHub Action dockerImage entry point - #611
Merged
Conversation
Add launchdarkly/find-code-references/docker composite Action so workflows can pull the scanner image from a private registry or Docker Hub proxy without changing the root Docker Action used by existing workflows. Co-authored-by: Cursor <cursoragent@cursor.com>
22 tasks
ember-stevens
approved these changes
Aug 6, 2026
Co-authored-by: Ember Stevens <79482775+ember-stevens@users.noreply.github.com>
Co-authored-by: Ember Stevens <79482775+ember-stevens@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0c5622b. Configure here.
git add -A so first-time publish commits docker/; pass HTTP(S)_PROXY/NO_PROXY into docker run when set. Co-authored-by: Cursor <cursoragent@cursor.com>
sheldonmartin
approved these changes
Aug 12, 2026
sheldonmartin
left a comment
There was a problem hiding this comment.
Not really familiar with configuring GitHub actions but this seems reasonable to me. I also have one question about testing.
cspath1
approved these changes
Aug 13, 2026
4 tasks
tknopp-ld
added a commit
that referenced
this pull request
Aug 13, 2026
## Summary Prepares the 2.17.0 release by hand, same approach as 2.16.0 in #608 and 2.14.0 in #563: rulesets block the release workflow from pushing version bumps straight to `main`, so the bump lands as a normal PR. Tag, GitHub release, Docker Hub publish (if not already done by a release workflow run), and the downstream `find-code-references` Action update are done manually afterward. Ships the `/docker` Action entry point from #611 so customers can override the scanner image registry (e.g. Artifactory / Docker Hub proxy). ## What changed | File | Change | | --- | --- | | `internal/version/version.go` | `2.16.0` → `2.17.0` | | `CHANGELOG.md` | `[Unreleased]` → `2.17.0` (2026-08-13) | | `build/metadata/github-actions/Dockerfile` | image tag → `2.17.0` | | `build/metadata/github-actions/README.md` | `find-code-references@v2.17.0` (+ `/docker` example image tag) | | `build/metadata/github-actions/docker/action.yml` | default `dockerImage` → `…:2.17.0` | ## Behavior notes - **Bitbucket and CircleCI metadata deliberately untouched.** Those publish targets remain disabled (#593); bumping them would name versions that were never cut. - **GHA publish is still manual.** After merge: publish Docker images / GitHub release for `v2.17.0` as usual, then `cp -a build/metadata/github-actions/.` into `launchdarkly/find-code-references` (includes new `docker/`), commit, tag `v2.17.0` (and update `v2` if that is still your practice). Use `git add -A` so `docker/action.yml` is included on first publish. ## Test plan - [x] `go build ./...` (version constant only) - [x] Diff vs main is only the five files above - [ ] After merge + Hub image exists: sync `find-code-references` and confirm `docker/action.yml` is present at `v2.17.0` - [ ] Optional: couscous smoke with published `uses: launchdarkly/find-code-references/docker@v2.17.0` Made with [Cursor](https://cursor.com) Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
launchdarkly/find-code-references/dockerwith adockerImageinput so workflows can pull the scanner from a private registry or Docker Hub proxy.action.yml+Dockerfile) unchanged so existinguses: launchdarkly/find-code-references@v2workflows keep the current GitHub-managed runtime.GITHUB_WORKSPACE,GITHUB_EVENT_PATH, anddockerCLI; release copy script now preserves nested metadata (docker/).Why not change the root Action
GitHub does not allow dynamic
runs.image/${{ inputs.* }}onusing: dockerActions (docs, SO).Usage (after publish to find-code-references)
Test plan
Composite +
docker runcan fail quietly (green CI, wrong/empty data in LD) if mounts or env are wrong. Test on a real GitHub-hosted runner (not onlyact), against a repo that already has known flag refs in LD.0. Hygiene
git diff main -- build/metadata/github-actions/action.yml Dockerfileis empty (root Action unchanged)cp -a build/metadata/github-actions/. /tmp/fcr-test/includesdocker/action.yml1. Baseline parity (default Hub image)
Workflow A —
/dockerwith nodockerImage(uses default Hub tag):Workflow B — same job, root Action (control):
Assert:
GITHUB_EVENT_PATH/ workspace fail-fasts do not fireFailure modes this catches: missing workspace mount (empty scan), missing event/ref (wrong branch).
2. Explicit Hub URI
dockerImage: launchdarkly/ld-find-code-refs-github-action:2.16.0explicitly — same results as §13. Mirrored registry
docker/login-actionthen/dockerwithdockerImage: <mirror URI>Failure modes this catches: login ordering, wrong image tag, private pull auth.
4. Lookback / extinctions (git history in the container)
fetch-depth: 11,lookback: 10(defaults).gitFailure modes this catches: workspace mount without
.git, shallow-clone mismatch.5. Defaults parity vs CLI footguns
pruneinput — confirm behavior matches root Action (prunefalse), not CLI default true (check logs: should not attempt remote prune on a private repo unless enabled)lookback/contextLinesbehave like root defaults6. Negative / fail-loud checks (should be red, not silent)
GITHUB_WORKSPACEerrordockerImage: ""— step fails with empty-image error7. Exit codes
accessToken/ unreachable API withignoreServiceErrors: false— non-zero exit (not swallowed by the composite wrapper)ignoreServiceErrors: true— still respects scanner behavior (exit 0 on service errors)8. Release follow-up
docker/intolaunchdarkly/find-code-references, tag (e.g.v2.17.0)uses: launchdarkly/find-code-references/docker@...(not local path)Made with Cursor