Skip to content

Combine pytest, pylint, and pytype checks into one action #106

Combine pytest, pylint, and pytype checks into one action

Combine pytest, pylint, and pytype checks into one action #106

name: test-meltingpot
on:
push:
branches:
- main
paths:
- '.github/actions/install-meltingpot/action.yml'
- '.github/workflows/test-meltingpot.yml'
- '.pylintrc'
- 'meltingpot/**'
- 'pyproject.toml'
- 'setup.py'
pull_request:
branches:
- main
paths:
- '.github/actions/install-meltingpot/action.yml'
- '.github/workflows/test-meltingpot.yml'
- '.pylintrc'
- 'meltingpot/**'
- 'pyproject.toml'
- 'setup.py'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
permissions: read-all
jobs:
test-meltingpot:
name: Test Melting Pot
runs-on: ${{ matrix.os }}
env:
SYSTEM_VERSION_COMPAT: 0 # See https://github.com/actions/setup-python/issues/279.
timeout-minutes: 180
strategy:
fail-fast: ${{ github.event_name != 'workflow_dispatch' }}
matrix:
os:
- macos-12
- ubuntu-20.04
python-version:
- '3.11'
steps:
- name: Checkout Melting Pot
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Install Melting Pot
uses: ./.github/actions/install-meltingpot
with:
python-version: ${{ matrix.python-version }}
- name: Test Melting Pot
run: pytest meltingpot
- name: Lint Melting Pot
run: pylint --errors-only meltingpot
- name: Typecheck Melting Pot
run: pytype meltingpot