Bump the actions group across 1 directory with 4 updates #26
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
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ["3.9", "3.11", "3.12", "3.13"] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Run tests (stdlib only, no install needed) | |
| run: python -m unittest discover -s tests -t . -v | |
| - name: Smoke-test the CLI end to end | |
| run: | | |
| python -m skillxray tests/corpus/benign/weather --fail-on high | |
| python -m skillxray tests/corpus/malicious/cookie-stealer --json --fail-on none | |
| # Everything here has to read like a person wrote it, code and docs alike. | |
| # noslop's code mode scores each source file for machine-writing tells and | |
| # fails at 10/100 lines. Pinned so a rules bump can't redden CI on its own. | |
| noslop: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | |
| with: | |
| python-version: "3.12" | |
| - run: pip install noslop-lint==0.10.0 | |
| # tests/corpus and examples/ hold deliberately malicious fixture skills; they | |
| # exist to trip the scanner, not to read like Cole, so they stay out of this gate. | |
| - name: Source reads human (code mode) | |
| run: git ls-files -z '*.py' | grep -zvE '^(tests/corpus|examples)/' | xargs -0r noslop --no-config | |
| - name: Docs read human (prose mode) | |
| run: git ls-files -z '*.md' | grep -zvE '^(tests/corpus|examples)/' | xargs -0r noslop --no-config |