Files
org/.github/workflows/pr-validation.yaml
T
Hugh Hackman 17cfc6033f fix: install shellcheck in PR validation workflow
The shellcheck step fails with "command not found" because shellcheck
is not installed on the runner. Install it from GitHub releases, same
pattern as the actionlint install step.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 00:11:42 +00:00

44 lines
1.4 KiB
YAML

name: PR Validation
on:
pull_request:
branches: [main]
jobs:
validate:
runs-on: local-ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install actionlint
run: |
ACTIONLINT_VERSION="1.7.7"
mkdir -p "$HOME/.local/bin"
curl -fsSL "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" \
| tar -xz -C "$HOME/.local/bin" actionlint
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
- name: Validate workflow YAML with actionlint
run: actionlint -color .github/workflows/*.yaml
- name: Install shellcheck
run: |
SHELLCHECK_VERSION="0.10.0"
mkdir -p "$HOME/.local/bin"
curl -fsSL "https://github.com/koalaman/shellcheck/releases/download/v${SHELLCHECK_VERSION}/shellcheck-v${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" \
| tar -xJ --strip-components=1 -C "$HOME/.local/bin" "shellcheck-v${SHELLCHECK_VERSION}/shellcheck"
- name: Shellcheck scripts
run: |
if ls .github/scripts/*.sh 1>/dev/null 2>&1; then
for script in .github/scripts/*.sh; do
echo "Checking ${script}..."
shellcheck --severity=warning "$script"
done
else
echo "No shell scripts to check"
fi