1e31aef6aSopenharmony_ciname: Tests 2e31aef6aSopenharmony_cion: 3e31aef6aSopenharmony_ci push: 4e31aef6aSopenharmony_ci branches: 5e31aef6aSopenharmony_ci - main 6e31aef6aSopenharmony_ci - '*.x' 7e31aef6aSopenharmony_ci paths-ignore: 8e31aef6aSopenharmony_ci - 'docs/**' 9e31aef6aSopenharmony_ci - '*.md' 10e31aef6aSopenharmony_ci - '*.rst' 11e31aef6aSopenharmony_ci pull_request: 12e31aef6aSopenharmony_ci branches: 13e31aef6aSopenharmony_ci - main 14e31aef6aSopenharmony_ci - '*.x' 15e31aef6aSopenharmony_ci paths-ignore: 16e31aef6aSopenharmony_ci - 'docs/**' 17e31aef6aSopenharmony_ci - '*.md' 18e31aef6aSopenharmony_ci - '*.rst' 19e31aef6aSopenharmony_cijobs: 20e31aef6aSopenharmony_ci tests: 21e31aef6aSopenharmony_ci name: ${{ matrix.name }} 22e31aef6aSopenharmony_ci runs-on: ${{ matrix.os }} 23e31aef6aSopenharmony_ci strategy: 24e31aef6aSopenharmony_ci fail-fast: false 25e31aef6aSopenharmony_ci matrix: 26e31aef6aSopenharmony_ci include: 27e31aef6aSopenharmony_ci - {name: Linux, python: '3.11', os: ubuntu-latest, tox: py311} 28e31aef6aSopenharmony_ci - {name: Windows, python: '3.11', os: windows-latest, tox: py311} 29e31aef6aSopenharmony_ci - {name: Mac, python: '3.11', os: macos-latest, tox: py311} 30e31aef6aSopenharmony_ci - {name: '3.12-dev', python: '3.12-dev', os: ubuntu-latest, tox: py312} 31e31aef6aSopenharmony_ci - {name: '3.10', python: '3.10', os: ubuntu-latest, tox: py310} 32e31aef6aSopenharmony_ci - {name: '3.9', python: '3.9', os: ubuntu-latest, tox: py39} 33e31aef6aSopenharmony_ci - {name: '3.8', python: '3.8', os: ubuntu-latest, tox: py38} 34e31aef6aSopenharmony_ci - {name: '3.7', python: '3.7', os: ubuntu-latest, tox: py37} 35e31aef6aSopenharmony_ci - {name: 'PyPy', python: 'pypy-3.10', os: ubuntu-latest, tox: pypy310} 36e31aef6aSopenharmony_ci - {name: Typing, python: '3.11', os: ubuntu-latest, tox: typing} 37e31aef6aSopenharmony_ci steps: 38e31aef6aSopenharmony_ci - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c 39e31aef6aSopenharmony_ci - uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 40e31aef6aSopenharmony_ci with: 41e31aef6aSopenharmony_ci python-version: ${{ matrix.python }} 42e31aef6aSopenharmony_ci cache: 'pip' 43e31aef6aSopenharmony_ci cache-dependency-path: 'requirements/*.txt' 44e31aef6aSopenharmony_ci - name: update pip 45e31aef6aSopenharmony_ci run: | 46e31aef6aSopenharmony_ci pip install -U wheel 47e31aef6aSopenharmony_ci pip install -U setuptools 48e31aef6aSopenharmony_ci python -m pip install -U pip 49e31aef6aSopenharmony_ci - name: cache mypy 50e31aef6aSopenharmony_ci uses: actions/cache@58c146cc91c5b9e778e71775dfe9bf1442ad9a12 51e31aef6aSopenharmony_ci with: 52e31aef6aSopenharmony_ci path: ./.mypy_cache 53e31aef6aSopenharmony_ci key: mypy|${{ matrix.python }}|${{ hashFiles('setup.cfg') }} 54e31aef6aSopenharmony_ci if: matrix.tox == 'typing' 55e31aef6aSopenharmony_ci - run: pip install tox 56e31aef6aSopenharmony_ci - run: tox run -e ${{ matrix.tox }} 57