Enable stricter static checks #466
Workflow file for this run
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: "Python CI" | |
on: | |
push: | |
branches: | |
- "main" | |
tags: | |
- "*" | |
pull_request: | |
paths: | |
- ".github/**" | |
- "Makefile" | |
- "examples/**" | |
- "inngest/**" | |
- "tests/**" | |
jobs: | |
format-check: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
python-version: ["3.9"] | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install" | |
run: "make install" | |
- name: "Format check" | |
run: "make format-check" | |
itest: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.12"] | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install" | |
run: "make install" | |
- name: "Integration test" | |
run: "make itest" | |
lint: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.12"] | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install" | |
run: "make install" | |
- name: "Lint" | |
run: "make lint" | |
publish-pypi: | |
runs-on: "ubuntu-latest" | |
needs: | |
- "format-check" | |
- "itest" | |
- "lint" | |
- "type-check" | |
- "utest" | |
# Only publish tagged versions. | |
# TODO: Add a check to ensure that the git tag matches the version. | |
if: "startsWith(github.ref, 'refs/tags/')" | |
permissions: | |
id-token: write | |
strategy: | |
matrix: | |
python-version: ["3.9"] | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install" | |
run: "make install" | |
- name: "Install" | |
run: "make build" | |
- name: "Upload package to PyPI" | |
uses: "pypa/gh-action-pypi-publish@release/v1" | |
type-check: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.12"] | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install" | |
run: "make install" | |
- name: "Type check" | |
run: "make type-check" | |
utest: | |
runs-on: "ubuntu-latest" | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.12"] | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: "actions/setup-python@v2" | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install" | |
run: "make install" | |
- name: "Unit test" | |
run: "make utest" |