Skip to content

Test

Test #872

Workflow file for this run

name: Test
on:
pull_request:
workflow_dispatch:
push:
branches: [master]
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
os: ['ubuntu-latest']
python: ['3.8', '3.9']
include:
- os: 'macos-latest'
python: '3.8'
env:
PYTEST_ADDOPTS: --cov --color=yes
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Brew Install
if: startsWith(matrix.os, 'macos')
run: |
# install system deps
brew update
brew install bash coreutils
# add GNU coreutils to the user PATH
# (see instructions in brew install output)
echo \
"$(brew --prefix)/opt/coreutils/libexec/gnubin" \
>> "${GITHUB_PATH}"
# add coreutils to the bashrc too (for jobs)
cat >> "${HOME}/.bashrc" <<__HERE__
PATH="$(brew --prefix)/opt/coreutils/libexec/gnubin:$PATH"
export PATH
__HERE__
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: install cylc-flow
uses: cylc/release-actions/install-cylc-components@v1
with:
cylc_flow: true
cylc_flow_opts: ''
- name: install cylc-uiserver
run: pip install -e .[all]
- name: Style test
run: flake8
- name: Type checking
run: mypy
- name: Check changelog
if: startsWith(matrix.os, 'ubuntu')
run: towncrier build --draft
- name: Test
run: pytest
- name: Coverage report
run: |
coverage xml --ignore-errors
coverage report
- name: Codecov upload
uses: codecov/codecov-action@v3
with:
name: '${{ matrix.os }} py-${{ matrix.python }}'
fail_ci_if_error: false