Skip to content

ci: pin actionlint version and add pre-commit hook - #52

Merged
marcpaterno merged 1 commit into
mainfrom
ci/pin-actionlint
Oct 29, 2026
Merged

marcpaterno merged 1 commit into
mainfrom
ci/pin-actionlint

Conversation

@greenc-FNAL

@greenc-FNAL greenc-FNAL commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Pin CI and pre-commit to actionlint 1.7.12 for consistent workflow validation.
  • Add the pinned actionlint pre-commit hook and a wrapper that skips ShellCheck on Darwin to avoid actionlint's pipe deadlock; Linux CI retains ShellCheck.
  • Preserve the existing actionlint commit without including the separate guardrail changes.

Dependencies

This PR contains one commit directly above upstream/main and changes only the CI workflow, pre-commit configuration, and actionlint wrapper. It is independent of the guardrail PR and can merge in either order.

Validation

  • Pre-commit checks passed for all three changed files before pushing.
  • The complete commit diff and branch tracking were inspected.
  • git diff --check passed.
  • CI: Pin the workflow’s actionlint version to 1.7.12.
  • Pre-commit: Add the actionlint hook at v1.7.12, using the new wrapper script.
  • Platform handling: On Darwin, the wrapper disables ShellCheck and prints a notice. On other systems, it runs actionlint with ShellCheck enabled.

Run the same actionlint version in CI and pre-commit. Disable ShellCheck on Darwin to avoid actionlint's pipe deadlock; CI runs it on Linux.
@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: c7d63229-c622-4fb3-8532-d61320b4afc5
Commits

Reviewing files that changed from the base of the PR and between 47f2ef3 and 4dba9fa.

Files selected for processing: 3
  • .github/workflows/ci.yaml
  • .pre-commit-config.yaml
  • scripts/pre-commit/actionlint.sh

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Recent review details
Context from checks skipped due to timeout: 1
  • GitHub Check: setup
Additional context used
Code guidelines: 1
AGENTS.md — auto-discovered
Path-based instructions: 1
Source excerpt: YAML: formatted with prettier (120-char soft limit, 2-space indent).

CodeRabbit inference engine (AGENTS.md)

Files:

  • .github/workflows/ci.yaml
  • .pre-commit-config.yaml
Additional comments: 3
.github/workflows/ci.yaml: 1

64-64: LGTM!

scripts/pre-commit/actionlint.sh: 1

1-9: LGTM!

.pre-commit-config.yaml: 1

54-54: 🎯 Functional Correctness

No native-Windows support requirement is established.

The hook does require Bash, but the repository documents a Bash-based composite action, a phlex-ci container, and Ubuntu-only CI. It does not establish native Windows as a supported local development platform. The proposed cross-platform change is therefore not supported by the repository contract.

Walkthrough

The CI workflow now pins actionlint to version 1.7.12. The pre-commit configuration adds the same pinned version and runs it through a wrapper that uses different actionlint options on Darwin.

Changes: Actionlint setup

Layer / File(s) Summary
Pin and configure actionlint
.github/workflows/ci.yaml, .pre-commit-config.yaml, scripts/pre-commit/actionlint.sh
The CI workflow and pre-commit hook pin actionlint to version 1.7.12. The hook uses a wrapper that disables ShellCheck on Darwin and forwards arguments on both operating-system paths.

Priority: Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Other

Merge Risk: Minimal · up to 4dba9

No actionable merge-blocking risk remains; the change is ready to merge with normal checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main changes: pinning the actionlint version and adding a pre-commit hook.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 1 files. (2 skipped: 2 unsupported.)

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues were identified for the actionlint version pinning and macOS-specific pre-commit workaround.

No open issues 🎉

What changed in this PR

This PR aligns local and CI workflow validation on actionlint 1.7.12 and adds a macOS-specific workaround without changing the composite action itself.

Changes:

  • Pin actionlint to version 1.7.12 in CI and pre-commit.
  • Add a pre-commit wrapper that disables ShellCheck on Darwin to avoid the reported pipe deadlock, while retaining it on Linux.
File Description
scripts/​pre-commit/​actionlint.sh Wraps actionlint with Darwin-specific ShellCheck handling and a notice.
.pre-commit-config.yaml Adds the pinned actionlint hook using the wrapper.
.github/​workflows/​ci.yaml Pins the CI actionlint version to 1.7.12.

Review effort: Balanced

@marcpaterno
marcpaterno merged commit 51f4bf4 into main Oct 29, 2026
10 checks passed
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.

3 participants