Merge pull request #196 from ymyzk/macos-m1-ci #355
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: Tests | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
jobs: | |
build: | |
runs-on: ${{ matrix.platform }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# https://help.github.com/articles/virtual-environments-for-github-actions | |
platform: | |
- ubuntu-latest # ubuntu-22.04 | |
- macos-13 # macos-13 (Intel) | |
- macos-latest # macos-14 (M1) | |
- windows-latest # windows-2022 | |
python-version: [3.7, 3.8, 3.9, '3.10', 3.11, 3.12, pypy-3.7, pypy-3.8, pypy-3.9, pypy-3.10] | |
exclude: | |
# Exclude the following configuration to avoid an error. | |
# Error: The version '...' with architecture 'arm64' was not found for macOS 14.4.1. | |
# The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | |
- platform: macos-latest | |
python-version: 3.7 | |
- platform: macos-latest | |
python-version: pypy-3.7 | |
steps: | |
- uses: actions/checkout@v3 | |
if: ${{ ! startsWith(matrix.python-version, 'pypy-') }} | |
- uses: actions/checkout@v1 | |
if: ${{ startsWith(matrix.python-version, 'pypy-') }} | |
# Using actions/checkout@v2 or later with pypy causes an error | |
# https://foss.heptapod.net/pypy/pypy/-/issues/3640 | |
# py.error.ENOENT: [No such file or directory]: | |
# listdir('/home/runner/work/tox-gh-actions/tox-gh-actions/.tox/dist/ | |
# warnings.warn(f\'"{wd.path}" is shallow and may cause errors\')',) | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade setuptools pip wheel | |
# Use the latest published version for myself :) | |
python -m pip install --pre tox-gh-actions | |
- name: Test with tox | |
run: tox | |
- name: Upload coverage.xml | |
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.12' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tox-gh-actions-coverage | |
path: coverage.xml | |
if-no-files-found: error | |
- name: Upload coverage.xml to codecov | |
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.12' }} | |
uses: codecov/codecov-action@v2 |