Skip to content

Daily

Daily #329

Workflow file for this run

name: Daily
on:
schedule:
- cron: '30 2 * * *' # 2:30 every day
push:
branches:
- dev
- main
- release/**
workflow_dispatch:
# Cancel old runs when a new commit is pushed to the same branch if not on main or dev
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/dev' }}
jobs:
daily-pytest-cpu:
uses: ./.github/workflows/pytest-cpu.yaml
strategy:
matrix:
include:
- name: 'cpu-3.10-1.13'
container: mosaicml/pytorch:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'not daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'cpu-3.10-2.0'
container: mosaicml/pytorch:2.0.1_cpu-python3.10-ubuntu20.04
markers: 'not daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'cpu-3.10-2.1'
container: mosaicml/pytorch:2.1.0_cu121-nightly20230903-python3.10-ubuntu20.04
markers: 'not daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'cpu-vision'
container: mosaicml/pytorch_vision:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'not daily and (remote or not remote) and not gpu and vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'cpu-doctest'
container: mosaicml/pytorch_vision:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'not daily and (remote or not remote) and not gpu and not vision and doctest'
pytest_command: 'coverage run -m pytest tests/test_docs.py'
composer_package_name: 'mosaicml'
- name: 'daily-cpu-3.10-1.13'
container: mosaicml/pytorch:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'daily-cpu-3.10-2.0'
container: mosaicml/pytorch:2.0.1_cpu-python3.10-ubuntu20.04
markers: 'daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'daily-cpu-3.10-1.13-composer'
container: mosaicml/pytorch:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'composer'
- name: 'daily-cpu-3.10-2.1'
container: mosaicml/pytorch:2.1.0_cu121-nightly20230827-python3.10-ubuntu20.04
markers: 'daily and (remote or not remote) and not gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'daily-cpu-vision'
container: mosaicml/pytorch_vision:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'daily and (remote or not remote) and not gpu and vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'daily-cpu-doctest'
container: mosaicml/pytorch_vision:1.13.1_cpu-python3.10-ubuntu20.04
markers: 'daily and (remote or not remote) and not gpu and not vision and doctest'
pytest_command: 'coverage run -m pytest tests/test_docs.py'
composer_package_name: 'mosaicml'
name: ${{ matrix.name }}
if: github.repository_owner == 'mosaicml'
with:
container: ${{ matrix.container }}
name: ${{ matrix.name }}
pytest-command: ${{ matrix.pytest_command }}
pytest-markers: ${{ matrix.markers }}
composer_package_name: ${{ matrix.composer_package_name }}
pytest-s3-bucket: 'mosaicml-internal-integration-testing'
pytest-wandb-entity: 'mosaicml-public-integration-tests'
pytest-wandb-project: "integration-tests-${{ github.sha }}"
secrets:
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
wandb-api-key: ${{ secrets.WANDB_API_KEY }}
slack-notifications-bot-token: ${{ secrets.SLACK_NOTIFICATIONS_BOT_TOKEN }}
code-eval-device: ${{ secrets.CODE_EVAL_DEVICE }}
code-eval-url: ${{ secrets.CODE_EVAL_URL }}
code-eval-apikey: ${{ secrets.CODE_EVAL_APIKEY }}
gcs-key: ${{ secrets.GCS_KEY }}
gcs-secret: ${{ secrets.GCS_SECRET }}
coverage:
uses: ./.github/workflows/coverage.yaml
name: Coverage Results
if: github.repository_owner == 'mosaicml'
needs: [ daily-pytest-cpu ]
with:
download-path: artifacts
daily-pytest-gpu:
uses: ./.github/workflows/pytest-gpu.yaml
strategy:
matrix:
# Unlike CPU tests, we run daily tests together with GPU tests to minimize launch time
# on MCLOUD and not eat up all GPUs at once
include:
- name: 'gpu-3.10-1.13'
container: mosaicml/pytorch:1.13.1_cu117-python3.10-ubuntu20.04
markers: '(daily or not daily) and (remote or not remote) and gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'gpu-3.10-2.0'
container: mosaicml/pytorch_vision:2.0.1_cu117-python3.10-ubuntu20.04
markers: '(daily or not daily) and (remote or not remote) and gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
- name: 'gpu-3.10-1.13-composer'
container: mosaicml/pytorch:1.13.1_cu117-python3.10-ubuntu20.04
markers: '(daily or not daily) and (remote or not remote) and gpu and not vision and not doctest'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'composer'
- name: 'gpu-vision-doctest'
container: mosaicml/pytorch_vision:1.13.1_cu117-python3.10-ubuntu20.04
markers: '(daily or not daily) and (remote or not remote) and gpu and (vision or doctest)'
pytest_command: 'coverage run -m pytest'
composer_package_name: 'mosaicml'
name: ${{ matrix.name }}
if: github.repository_owner == 'mosaicml'
with:
composer_package_name: ${{ matrix.composer_package_name }}
container: ${{ matrix.container }}
mcloud-timeout: 2700
name: ${{ matrix.name }}
pytest-command: ${{ matrix.pytest_command }}
pytest-markers: ${{ matrix.markers }}
python-version: 3.9
secrets:
mcloud-api-key: ${{ secrets.MCLOUD_API_KEY }}
slack-notifications-bot-token: ${{ secrets.SLACK_NOTIFICATIONS_BOT_TOKEN }}