Skip to content

Harden portable skill protocol, installer safety, and quality gates #9

Harden portable skill protocol, installer safety, and quality gates

Harden portable skill protocol, installer safety, and quality gates #9

Workflow file for this run

name: docs
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: code-max-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
checks:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
python: '3.10'
- os: macos-latest
python: '3.13'
runs-on: ${{ matrix.os }}
timeout-minutes: 10
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: ${{ matrix.python }}
- name: Validate the skill package
run: python3 scripts/validate.py
- name: Run isolated utility regression tests
run: python3 -m unittest discover -s tests -v
- name: Check Bash syntax
run: bash -n skills.sh
- name: ShellCheck
if: runner.os == 'Linux'
run: shellcheck skills.sh
# Preserve the existing branch-protection context, including matrix failures.
docs:
if: always()
needs: checks
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- name: Require every check to pass
env:
CHECK_RESULT: ${{ needs.checks.result }}
run: test "$CHECK_RESULT" = success