Enhance reusable workflows#80
Open
Yaswant Pradhan (yaswant) wants to merge 166 commits into
Open
Conversation
Co-authored-by: Yaswant Pradhan <2984440+yaswant@users.noreply.github.com>
…e handling of merge conflicts and streamline file comparison
…private forks and streamline file comparison
…roved safety and clarity
…sions for workflows
- Set 'requirements' in build-sphinx-docs.yaml to optional - Update output redirection syntax in cla-check.yaml, sphinx-docs.yaml, and track-review-project.yaml for consistency - Add Actionlint, Zizmor, and Markdown Lint steps to validate workflows in validate.yaml - Change shell from Python to Bash in labeler action for input validation - Update pyproject.toml to include new dependencies and configure Markdown Lint settings - Improve formatting and clarity in README.md
…essaging and error handling
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.
PR Summary
Code Reviewer: James Bruten (@james-bruten-mo)
Hardens the GitHub Actions security baseline across all workflows.
Action pinning
actions/checkout@v6→@df4cb1c…).actions/github-scriptintrack-review-project.yamlupgraded fromv8 → v9as part of the pin.Credential & permission scoping
persist-credentials: falseadded to everyactions/checkoutsteppermissions: {}set on caller workflows; granularcontents: read/pull-requests: write/actions: readpushed down to job level incall-track-review-project.yaml,call-trigger-project-workflow.yaml, andtrigger-project-workflow.yamlfortran-lint.yamlgains an explicit contents: read job permission.Template-injection fixes (zizmor)
cla-check.yaml: step outputs andinputs.cla-urlmoved toenv:vars, read viaprocess.env.*in thegithub-scriptblock.fortran-lint.yaml: all string/path inputs moved toenv:vars; boolean flags resolved in shell using a bash array.track-review-project.yaml:inputs.project_organdinputs.project_numbermoved toenv:vars. Also, includedPROJECT_ACTION_PATsecret as required parameter to avoid secret inheritance in caller workflow (breaking change! See updated README for usage).CLA workflow logic
git ls-remote → gh api repos/.../pulls/…(avoids unauthenticated git network call).CONTRIBUTORS.mdmodification check rewritten:git diff→ GitHub Contents API +base64 | tr | cmp(avoids authenticated git fetch from fork). File modification now checked against content instead of just file state.Tooling & config
dependabot.yaml: monthly schedule, major-version updates blocked, all action updates grouped into a single PRzizmor.yaml: suppressesunpinned-uses,dangerous-triggers, andsecrets-inheritfor the two caller workflows that usesecrets: inherit.yamllint: updatedignoresyntax; addedcommentsandcomments-indentationrules.To enforce strict GitHub Actions security baselines, we now use immutable 40-character commit SHAs.
✅ Code Quality Checklist
(Some checks are automatically carried out via the CI pipeline)
🤖 AI Assistance and Attribution
💻 Code Review