Skip to content

Bump types-beautifulsoup4 from 4.12.0.20241020 to 4.12.0.20250204 #144

Bump types-beautifulsoup4 from 4.12.0.20241020 to 4.12.0.20250204

Bump types-beautifulsoup4 from 4.12.0.20241020 to 4.12.0.20250204 #144

Workflow file for this run

name: Python checks
on:
push:
paths:
- '**.py'
- 'pyproject.toml'
- '.github/workflows/python.yml'
pull_request:
paths:
- '**.py'
- 'pyproject.toml'
- '.github/workflows/python.yml'
schedule:
- cron: '0 9 * * 1'
workflow_dispatch:
permissions:
contents: read
jobs:
test:
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: install-pinned/uv@e68f239fe6e826a25a266f6177aae2bb89c6227f # 0.4.12
- name: Install dependencies
run: |
uv pip install --system -e .[dev]
uv pip install --system -e .[github-actions]
- name: Test with pytest
run: |
coverage run -m pytest
env:
COVERAGE_FILE: ".coverage.${{ matrix.os }}.${{ matrix.python-version }}"
- name: Store coverage file
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with:
name: coverage-${{ matrix.os }}${{ matrix.python-version }}
path: .coverage.${{ matrix.os }}.${{ matrix.python-version }}
include-hidden-files: true
ruff-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python 3.11
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: "3.11"
- name: Install uv
uses: install-pinned/uv@e68f239fe6e826a25a266f6177aae2bb89c6227f # 0.4.12
- name: Install dependencies
run: |
uv pip install --system -e .[dev]
- name: Run ruff format
run: |
ruff format --diff .
ruff-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python 3.13
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: "3.13"
- name: Install uv
uses: install-pinned/uv@e68f239fe6e826a25a266f6177aae2bb89c6227f # 0.4.12
- name: Install dependencies
run: |
uv pip install --system -e .[dev]
- name: Run ruff
run: |
ruff check --output-format=github .
bandit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python 3.13
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: "3.13"
- name: Install uv
uses: install-pinned/uv@e68f239fe6e826a25a266f6177aae2bb89c6227f # 0.4.12
- name: Install bandit
run: |
uv pip install --system -e .[dev]
- name: Run bandit scan
run: |
bandit -c pyproject.toml -r . -ll -ii
coverage:
runs-on: ubuntu-latest
needs: test
permissions:
pull-requests: write
contents: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
id: download
with:
pattern: coverage-*
merge-multiple: true
- name: Coverage comment
id: coverage_comment
uses: py-cov-action/python-coverage-comment-action@b2eb38dd175bf053189b35f738f9207278b00925 # v3.29
if: github.event.workflow_run.event != 'pull_request'
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MERGE_COVERAGE_FILES: true
- name: Store Pull Request comment to be posted
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
if: steps.coverage_comment.outputs.COMMENT_FILE_WRITTEN == 'true'
with:
name: python-coverage-comment-action
path: python-coverage-comment-action.txt
pip-install:
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13"]
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
runs-on: ${{ matrix.os }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
python-version: ${{ matrix.python-version }}
cache: pip
- name: Install dependencies
run: |
pip install .