Continuous Integration - Daily #513
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: Continuous Integration - Daily | |
on: | |
schedule: | |
# Checks out main by default. | |
- cron: '0 0 * * *' | |
concurrency: | |
group: ${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
pytest: | |
name: Pytest Ubuntu | |
strategy: | |
matrix: | |
python-version: ['3.10', '3.11', '3.12'] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: 'x64' | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('**/requirements.txt', 'dev_tools/requirements/**/*.txt') }} | |
- name: Install requirements | |
run: | | |
pip install cirq~=1.0.dev && | |
pip install \ | |
-r dev_tools/requirements/deps/format.txt \ | |
-r dev_tools/requirements/deps/pylint.txt \ | |
-r dev_tools/requirements/deps/pytest.txt \ | |
-r dev_tools/requirements/deps/notebook.txt | |
- name: Run Quil dependencies | |
run: docker compose -f cirq-rigetti/docker-compose.test.yaml up -d | |
- name: Pytest check | |
run: check/pytest -n auto --ignore=cirq-core/cirq/contrib --rigetti-integration --enable-slow-tests | |
- name: Stop Quil dependencies | |
run: docker compose -f cirq-rigetti/docker-compose.test.yaml down | |
windows: | |
name: Pytest Windows | |
strategy: | |
matrix: | |
python-version: ['3.10', '3.11', '3.12'] | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: 'x64' | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('**/requirements.txt', 'dev_tools/requirements/**/*.txt') }} | |
- name: Install requirements | |
run: | | |
pip install cirq~=1.0.dev && | |
pip install -r dev_tools/requirements/deps/format.txt && | |
pip install -r dev_tools/requirements/deps/pylint.txt && | |
pip install -r dev_tools/requirements/deps/pytest.txt && | |
pip install -r dev_tools/requirements/deps/notebook.txt | |
- name: Pytest Windows | |
run: check/pytest -n auto --ignore=cirq-core/cirq/contrib --enable-slow-tests | |
shell: bash | |
macos: | |
name: Pytest MacOS | |
strategy: | |
matrix: | |
python-version: ['3.10', '3.11', '3.12'] | |
# TODO(#6577): upgrade to macos-latest when it runs Python 3.10 | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
architecture: 'x64' | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('**/requirements.txt', 'dev_tools/requirements/**/*.txt') }} | |
- name: Install requirements | |
run: | | |
pip install cirq~=1.0.dev && | |
pip install \ | |
-r dev_tools/requirements/deps/format.txt \ | |
-r dev_tools/requirements/deps/pylint.txt \ | |
-r dev_tools/requirements/deps/pytest.txt \ | |
-r dev_tools/requirements/deps/notebook.txt | |
- name: Pytest check | |
run: check/pytest -n auto --ignore=cirq-core/cirq/contrib --enable-slow-tests |