feat: add mTLS client certificate support #423
Workflow file for this run
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: Lint code base | |
| on: | |
| pull_request: | |
| branches: | |
| - trunk | |
| push: | |
| branches: | |
| - trunk | |
| - release-* | |
| tags: | |
| - v* | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint-ruff: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11', '3.12', '3.13', '3.14'] | |
| name: Lint with ruff (Python ${{ matrix.python-version }}) | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install requirements | |
| run: | | |
| pip install ".[test]" | |
| - name: Lint with ruff | |
| run: | | |
| ruff check spicepy tests | |
| lint-pylint: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11', '3.12', '3.13', '3.14'] | |
| name: Lint with pylint (Python ${{ matrix.python-version }}) | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install requirements | |
| run: | | |
| pip install ".[test]" | |
| - name: Analysing with pylint | |
| run: | | |
| pylint spicepy tests --fail-under=8.0 | |
| - name: Analysing with flake8 | |
| run: | | |
| flake8 spicepy tests | |
| type-check: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11', '3.12', '3.13', '3.14'] | |
| name: Type check with mypy (Python ${{ matrix.python-version }}) | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install requirements | |
| run: | | |
| pip install ".[test]" | |
| - name: Type checking with mypy | |
| run: | | |
| mypy spicepy --ignore-missing-imports | |
| lint-black: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.11', '3.12', '3.13', '3.14'] | |
| name: Lint with black (Python ${{ matrix.python-version }}) | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install requirements | |
| run: | | |
| pip install ".[test]" | |
| - name: Check formatting with black | |
| run: | | |
| black --check spicepy tests | |
| security-check: | |
| runs-on: ubuntu-latest | |
| name: Security scan with bandit | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.12' | |
| cache: 'pip' | |
| - name: Install requirements | |
| run: | | |
| pip install ".[test]" | |
| - name: Security scan with bandit | |
| run: | | |
| bandit -r spicepy -c pyproject.toml |