Skip to content

feat(sdk): portable Argus CLI — pip install, Docker execution, MCP server, CI preflight #319

feat(sdk): portable Argus CLI — pip install, Docker execution, MCP server, CI preflight

feat(sdk): portable Argus CLI — pip install, Docker execution, MCP server, CI preflight #319

name: Lint Workflow Files
# Validates all GitHub Actions workflow files using actionlint with shellcheck.
# Runs on any workflow or action change to catch syntax errors, type issues,
# and shell scripting problems before they hit CI.
on:
pull_request:
paths:
- '.github/workflows/**'
- '.github/actions/**'
- '.github/actionlint.yaml'
push:
branches: [main]
paths:
- '.github/workflows/**'
- '.github/actions/**'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test-lint-workflows:
name: actionlint
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
- name: Install actionlint
shell: bash
run: |
set -euo pipefail
# Pinned version with checksum — updated by .github/workflows/update-pinned-tools.yml
ACTIONLINT_VERSION="1.7.12"
ACTIONLINT_CHECKSUM="8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8"
ACTIONLINT_TARBALL="actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz"
curl -sSfL "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/${ACTIONLINT_TARBALL}" -o "${ACTIONLINT_TARBALL}"
echo "${ACTIONLINT_CHECKSUM} ${ACTIONLINT_TARBALL}" | sha256sum -c --quiet
tar -xzf "${ACTIONLINT_TARBALL}" actionlint
rm -f "${ACTIONLINT_TARBALL}"
- name: Run actionlint
shell: bash
run: |
if ./actionlint -color 2>&1 | tee actionlint-output.txt; then
{
echo "## Actionlint Results"
echo ""
echo "All workflow files passed actionlint."
} >> "$GITHUB_STEP_SUMMARY"
else
{
echo "## Actionlint Results"
echo ""
echo '```'
cat actionlint-output.txt
echo '```'
} >> "$GITHUB_STEP_SUMMARY"
exit 1
fi