47 lines
1.3 KiB
YAML

name: CI
on:
# Run on pushes, pull-requests, and also once per day
# (in case deps change under us, etc.)
push:
pull_request:
schedule:
# Note: '*' is a special character in YAML so we have to quote the str.
- cron: '0 12 * * *'
jobs:
# We run most of our testing on linux but it should apply to mac too;
# we can always add an explicit mac job if it seems worthwhile.
ci_unix:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: tools/snippets install_pip_reqs
- name: Run checks and tests
run: make -j2 check test
# Most of our toolset doesn't work on raw windows (outside of WSL).
# However, it's nice to at least run unit tests there since some behavior
# (filesystem, etc) can vary significantly.
ci_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
- name: Run tests
run: python tools/snippets pytest -v tests