Skip to content

chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.8.4 #293

chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.8.4

chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.8.4 #293

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches:
- master
- beta
- alpha
- '*.x'
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_COLOR: 3
jobs:
pre-commit:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: 3.x
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
with:
extra_args: --hook-stage manual --all-files
- name: Run PyLint
run: |
echo "::add-matcher::$GITHUB_WORKSPACE/.github/matchers/pylint.json"
pipx run nox -s pylint
consistency:
if: ${{ !cancelled() && ! failure() }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: 3.x
- name: Install copier
run: pipx install copier==9.4.1
- name: Verify template
run: pipx run nox -s template
- name: Test for consistency
run: |
echo "List inconsistent files:"
git status --porcelain
git diff --exit-code || ( \
echo "# :warning: Inconsistent files found" >> $GITHUB_STEP_SUMMARY && \
echo "The following files are inconsistent with the template:" >> $GITHUB_STEP_SUMMARY && \
git status --porcelain | while read file; do echo "- $file"; done >> $GITHUB_STEP_SUMMARY && \
echo "" >> $GITHUB_STEP_SUMMARY && \
echo "Please run 'copier copy -r HEAD -f . .' to fix them." >>$GITHUB_STEP_SUMMARY && \
exit 1 \
)
wheels:
needs: [pre-commit, consistency]
uses: ./.github/workflows/reuseable_cibuildwheel.yml
secrets: inherit
with:
auto: true
extra: false
codecov:
runs-on: ubuntu-24.04
needs: [pre-commit]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
with:
path: |
~/vcpkg
~/.cache/pip
~/.cache/vcpkg
key: codecov-${{ hashFiles('vcpkg.json') }}
restore-keys: codecov-${{ hashFiles('vcpkg.json') }}
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: 3.x
- name: Install package
run: python -m pip install .[test] -v
- name: Test package
run: >-
python -m pytest -ra --cov --cov-report=xml --cov-report=term
--durations=20
- name: Upload coverage report
uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
check-docs:
runs-on: ubuntu-24.04
needs: [pre-commit, consistency]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- name: Cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
with:
path: |
~/vcpkg
~/.cache/pip
~/.cache/vcpkg
key: docs-${{ hashFiles('vcpkg.json') }}
restore-keys: docs-${{ hashFiles('vcpkg.json') }}
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: 3.x
- name: Checks the docs with warnings as errors
run: pipx run nox -s docs -- --check
- name: Checks the docs for broken links
run: pipx run nox -s docs -- --linkcheck
check-mkdocs-docs:
runs-on: ubuntu-24.04
needs: [pre-commit, consistency]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: 3.x
- name: Install copier
run: pipx install copier==9.4.1
- name: Apply mkdocs
run: pipx run nox -s template -- -d docs_type=mkdocs
- name: Checks the docs with warnings as errors
run: pipx run nox -s docs -- --check
pass:
if: always()
needs:
- wheels
- codecov
- check-docs
- check-mkdocs-docs
runs-on: ubuntu-24.04
timeout-minutes: 2
permissions:
pull-requests: write
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
- name: Approve pr if all jobs succeeded
if: contains(github.event.pull_request.labels.*.name, 'auto-approval') && contains(github.actor, '[bot]')
uses: hmarr/auto-approve-action@v4