Skip to content

fix: run actionlint from the OCE fork with corrected action metadata - #27

Merged
kojiromike merged 2 commits into
mainfrom
actionlint-oce-fork
Sep 2, 2026
Merged

fix: run actionlint from the OCE fork with corrected action metadata#27
kojiromike merged 2 commits into
mainfrom
actionlint-oce-fork

Conversation

@kojiromike

@kojiromike kojiromike commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Upstream actionlint v1.7.12 ships stale bundled metadata for actions/create-github-app-token@v3: it still marks app-id as required and does not know client-id, so every call site using the canonical input gets two false positives. Upstream's metadata-refresh workflow has been wedged since 2026-03 and the fixes (rhysd/actionlint#652, #668) are unmerged.

Points the lint step at openCoreEMR/actionlint@v1.7.12-oce.1 — v1.7.12 plus the regenerated metadata entry. No published image is needed; GitHub builds the action from the fork's Dockerfile exactly as it does for upstream.

With the metadata corrected, three follow-on cleanups fall out:

  • Deletes .github/actionlint.yaml. ci(release-please): pass the Client ID as client-id, not the deprecated app-id #26 added it to suppress those two messages for release-please-reusable.yml, with a comment saying to drop it once actionlint ships the renamed input. It does now.
  • Drops the workaround comment in release-please-reusable.yml that explained the suppression.
  • php-tests.yml / php-composer-script.yml move to client-id too. ci(release-please): pass the Client ID as client-id, not the deprecated app-id #26 left these on app-id on the grounds that their credential is a caller-supplied App ID rather than a Client ID. That turns out not to hold: callers pass secrets.OPENEMR_INTERNAL_CLIENT_ID into the app-id secret, so the value was already a Client ID. The secret keeps its name to avoid breaking pinned callers; only its description and the input it feeds change.

Verified with the fork under both shellcheck 0.10.0 (what GitHub runners ship) and 0.11.0: 0 findings. Control — upstream v1.7.12 with the suppression deleted — reports all six false positives.

Upstream actionlint v1.7.12 ships stale bundled metadata for `actions/create-github-app-token@v3`: it still marks `app-id` as required and does not know `client-id`, so every call site using the canonical (non-deprecated) input gets two false positives. Upstream's metadata-refresh workflow has been wedged since 2026-03 and the fixes (rhysd/actionlint#652, #668) are unmerged.

Points the lint step at openCoreEMR/actionlint@v1.7.12-oce.1 — v1.7.12 plus the regenerated metadata entry. No published image is needed; GitHub builds the action from the fork's Dockerfile exactly as it does for upstream.
With actionlint no longer suppressing it, three call sites surfaced as using
the deprecated `app-id` input. All were already passing a Client ID, so this
is a key rename with no behaviour change.

release-please-reusable.yml also carried a comment saying to stay on `app-id`
until actionlint caught up; the OCE fork does, so it is gone.

The reusable-workflow secret keeps the name `app-id` to avoid breaking pinned
callers; only its description and the value it feeds change.
@kojiromike
kojiromike merged commit 14814a3 into main Sep 2, 2026
1 check passed
@kojiromike
kojiromike deleted the actionlint-oce-fork branch September 2, 2026 00:25
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