Bump actions/checkout from 4.1.1 to 4.1.2 (#29) #11
This file contains 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: Continuous Integration | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
venv: | |
name: Create virtual environment | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.2 | |
- name: Set up Python | |
uses: actions/setup-python@v5.0.0 | |
id: setup_python | |
with: | |
python-version: "3.8" | |
- name: Create virtual environment | |
uses: actions/cache@v4.0.0 | |
with: | |
key: venv-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ github.run_id }} | |
restore-keys: venv-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} | |
path: .venv | |
- name: Update Pip | |
run: | | |
python -m venv .venv | |
source .venv/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade --upgrade-strategy eager .[dev,test] mypy types-setuptools | |
format: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
needs: [venv] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.2 | |
- name: Set up Python | |
uses: actions/setup-python@v5.0.0 | |
id: setup_python | |
with: | |
python-version: "3.8" | |
- name: Cache virtual environment | |
uses: actions/cache@v4.0.0 | |
with: | |
key: venv-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ github.run_id }} | |
path: .venv | |
- name: Check Python formatting | |
uses: psf/black@24.2.0 | |
- name: Check JSON formatting | |
run: | | |
source .venv/bin/activate | |
pre-commit run check-json --all-files | |
- name: Check other formatting | |
run: | | |
source .venv/bin/activate | |
pre-commit run end-of-file-fixer --all-files | |
pre-commit run trailing-whitespace --all-files | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
needs: [venv] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.2 | |
- name: Set up Python | |
uses: actions/setup-python@v5.0.0 | |
id: setup_python | |
with: | |
python-version: "3.8" | |
- name: Cache virtual environment | |
uses: actions/cache@v4.0.0 | |
with: | |
key: venv-${{ runner.os }}-${{ steps.setup_python.outputs.python-version}}-${{ github.run_id }} | |
path: .venv | |
- name: Lint with ruff | |
uses: chartboost/ruff-action@v1.0.0 | |
- name: Lint with mypy | |
run: | | |
source .venv/bin/activate | |
mypy --ignore-missing-imports ssllabs | |
mypy --ignore-missing-imports tests | |
test: | |
name: Test with Python ${{ matrix.python-version }} | |
runs-on: ubuntu-latest | |
needs: [format, lint] | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4.1.2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5.0.0 | |
id: setup_python | |
with: | |
python-version: ${{ matrix.python-version }} | |
allow-prereleases: true | |
check-latest: true | |
- name: Use virtual environment | |
uses: actions/cache@v4.0.0 | |
with: | |
key: venv-${{ runner.os }}-${{ steps.setup_python.outputs.python-version}}-${{ github.run_id }} | |
restore-keys: venv-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} | |
path: .venv | |
- name: Install dependencies | |
run: | | |
python -m venv .venv | |
source .venv/bin/activate | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade --upgrade-strategy eager .[test] | |
- name: Test with pytest | |
run: | | |
source .venv/bin/activate | |
pytest --cov=ssllabs |