2020-10-12 13:22:56 -07:00

60 lines
1.7 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 only on linux but it should apply to mac too;
# we can always add an explicit mac job later if it seems worthwhile.
check_linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: tools/pcommand install_pip_reqs
- name: Run checks and tests
run: make -j2 check test
# Compile just a server binary but don't run asset builds/etc.
# (to spare my asset file server)
compile_linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Compile binary
run: make _cmake-simple-ci-server-build
# 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 between windows and linux/apple.
check_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest typing_extensions
- name: Run tests
run: python tools/pcommand pytest -v tests