/
niceSOFT
/
python3-build
Обзор
Документация
Войти
/
niceSOFT
/
python3-build
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
0.8.0
.github/workflows/test.yml
133 строки
3 KB
Henry Schreiner
ci: update actions
13 май 2022, 08:50
13 май 2022, 08:50
641d7dd
Код
Авторство
О чём код?
name: test on: push: branches: - main paths-ignore: - 'docs/**' - '*.md' pull_request: branches: - main paths-ignore: - 'docs/**' - '*.md' schedule: - cron: "0 8 * * *" workflow_dispatch: concurrency: group: test-${{ github.ref }} cancel-in-progress: true jobs: pytest: runs-on: ${{ matrix.os }}-latest env: PYTEST_ADDOPTS: "--run-integration --showlocals -vv --durations=10 --reruns 5 --only-rerun subprocess.CalledProcessError" strategy: fail-fast: false matrix: os: - ubuntu - macos - windows py: - 'pypy-3.7' - 'pypy-3.8' - 'pypy-3.9' - '3.11-dev' - '3.10' - '3.9' - '3.8' - '3.7' - '3.6' tox-target: - 'tox' - 'min' exclude: - { py: '3.11-dev', os: macos } - { py: '3.11-dev', os: windows } steps: - uses: actions/checkout@v3 - name: Setup python for test ${{ matrix.py }} uses: actions/setup-python@v3 with: python-version: ${{ matrix.py }} - name: Pick environment to run run: | import platform import os import sys if platform.python_implementation() == "PyPy": base = f"pypy{sys.version_info.major}{sys.version_info.minor}" else: base = f"py{sys.version_info.major}{sys.version_info.minor}" env = f"BASE={base}\n" print(f"Picked:\n{env}for {sys.version}") with open(os.environ["GITHUB_ENV"], "a", encoding="utf-8") as file: file.write(env) shell: python - name: Setup python for tox uses: actions/setup-python@v3 with: python-version: 3.9 - name: Install tox run: python -m pip install tox - name: Run test suite via tox if: matrix.tox-target == 'tox' run: | tox -vv --notest -e ${{env.BASE}} tox -e ${{env.BASE}} --skip-pkg-install - name: Run minimum version test if: matrix.tox-target == 'min' run: tox -e ${{env.BASE}}-${{ matrix.tox-target }} - name: Rename coverage report file if: matrix.tox-target == 'tox' run: mv ".tox/coverage.${BASE}.xml" .tox/coverage.xml shell: bash - uses: codecov/codecov-action@v1 if: always() env: PYTHON: ${{ matrix.python }} with: file: ./.tox/coverage.xml flags: tests env_vars: PYTHON name: ${{ matrix.py }} - ${{ matrix.os }} - name: Run path test if: matrix.tox-target == 'tox' && matrix.py == '3.10' run: tox -e path type: runs-on: ubuntu-latest env: PY_COLORS: 1 TOX_PARALLEL_NO_SPINNER: 1 steps: - uses: actions/checkout@v3 - name: Setup Python 3.9 uses: actions/setup-python@v3 with: python-version: 3.9 - name: Install tox run: python -m pip install tox - name: Setup run environment run: tox -vv --notest -e type - name: Run check for type run: tox -e type --skip-pkg-install