Use string.Template
when creating a new file
#11297
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: Win tests | |
on: | |
push: | |
branches: | |
- master | |
- 5.* | |
- 4.x | |
paths: | |
- '.github/scripts/*.sh' | |
- '.github/workflows/*.yml' | |
- 'requirements/*.yml' | |
- 'MANIFEST.in' | |
- '**.bat' | |
- '**.py' | |
- '**.sh' | |
- '!installers-conda/**' | |
- '!.github/workflows/installers-conda.yml' | |
- '!.github/workflows/build-subrepos.yml' | |
pull_request: | |
branches: | |
- master | |
- 5.* | |
- 4.x | |
paths: | |
- '.github/scripts/*.sh' | |
- '.github/workflows/*.yml' | |
- 'requirements/*.yml' | |
- 'MANIFEST.in' | |
- '**.bat' | |
- '**.py' | |
- '**.sh' | |
- '!installers-conda/**' | |
- '!.github/workflows/installers-conda.yml' | |
- '!.github/workflows/build-subrepos.yml' | |
workflow_dispatch: | |
concurrency: | |
group: test-win-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
# Use this to disable the workflow | |
# if: false | |
name: Windows - Py${{ matrix.PYTHON_VERSION }}, ${{ matrix.INSTALL_TYPE }}, ${{ matrix.TEST_TYPE }} | |
runs-on: windows-latest | |
env: | |
CI: 'true' | |
QTCONSOLE_TESTING: 'true' | |
CODECOV_TOKEN: "56731c25-9b1f-4340-8b58-35739bfbc52d" | |
OS: 'win' | |
PYTHON_VERSION: ${{ matrix.PYTHON_VERSION }} | |
RUN_SLOW: ${{ matrix.TEST_TYPE == 'slow' }} | |
USE_CONDA: ${{ matrix.INSTALL_TYPE == 'conda' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
INSTALL_TYPE: ['pip', 'conda'] | |
PYTHON_VERSION: ['3.9'] | |
TEST_TYPE: ['fast', 'slow'] | |
timeout-minutes: 90 | |
steps: | |
- name: Checkout Pull Requests | |
if: github.event_name == 'pull_request' | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Checkout Push | |
if: github.event_name != 'pull_request' | |
uses: actions/checkout@v3 | |
- name: Fetch branches | |
run: git fetch --prune --unshallow | |
- name: Cache conda | |
uses: actions/cache@v3 | |
env: | |
# Increase this value to reset cache if requirements/*.txt has not changed | |
CACHE_NUMBER: 0 | |
with: | |
path: ~/conda_pkgs_dir | |
key: ${{ runner.os }}-cacheconda-install${{ matrix.INSTALL_TYPE }}-${{ matrix.PYTHON_VERSION }}-${{ env.CACHE_NUMBER }}-${{ hashFiles('requirements/*.yml') }} | |
- name: Cache pip | |
uses: actions/cache@v3 | |
with: | |
path: ~\AppData\Local\pip\Cache | |
key: ${{ runner.os }}-cachepip-install${{ matrix.INSTALL_TYPE }}-${{ env.CACHE_NUMBER }}-${{ hashFiles('setup.py') }} | |
- name: Create conda test environment | |
if: env.USE_CONDA == 'true' | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: requirements/main.yml | |
environment-name: test | |
cache-downloads: true | |
create-args: python=${{ matrix.PYTHON_VERSION }} | |
- name: Create pip test environment | |
if: env.USE_CONDA != 'true' | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-name: test | |
cache-downloads: true | |
create-args: python=${{ matrix.PYTHON_VERSION }} | |
condarc: | | |
channels: | |
- conda-forge | |
- name: Install additional dependencies | |
shell: bash -l {0} | |
run: bash -l .github/scripts/install.sh | |
- name: Show conda test environment | |
if: env.USE_CONDA == 'true' | |
shell: bash -l {0} | |
run: | | |
micromamba info | |
micromamba list | |
- name: Show pip test environment | |
if: env.USE_CONDA != 'true' | |
shell: bash -l {0} | |
run: | | |
micromamba info | |
micromamba list | |
pip list | |
# Notes: | |
# 1. This only works for conda, probably because it has the necessary | |
# MSYS2 packages to create the connection. | |
# 2. Check https://github.com/marketplace/actions/debugging-with-tmate for | |
# usage. | |
#- name: Setup remote ssh connection | |
# if: env.USE_CONDA == 'true' | |
# uses: mxschmitt/action-tmate@v3 | |
# timeout-minutes: 45 | |
- name: Run manifest checks | |
shell: bash -l {0} | |
run: check-manifest | |
- name: Run tests | |
shell: bash -l {0} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
rm -f pytest_log.txt # Must remove any log file from a previous run | |
.github/scripts/run_tests.sh || \ | |
.github/scripts/run_tests.sh || \ | |
.github/scripts/run_tests.sh || \ | |
.github/scripts/run_tests.sh | |
- name: Coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: false | |
verbose: true |