Skip to content

Remove can bus Recorder #233

Remove can bus Recorder

Remove can bus Recorder #233

Workflow file for this run

name: CI
on:
- pull_request
- workflow_dispatch
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
cache: 'pip'
- uses: pre-commit/action@v3.0.0
with:
extra_args: --hook-stage manual --all-files
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
# Temporarily limit versions
# https://github.com/python-poetry/poetry/issues/8139
python-version: ['3.10', '3.11', '3.12'] # '3.8', '3.9',
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
# https://github.com/actions/setup-python/issues/369
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install poetry
run: pip install poetry
- uses: actions/cache@v3
with:
path: ${{ env.pythonLocation }}
key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('poetry.lock') }}
- name: Install dependencies
# https://github.com/nektos/act/issues/1639
run: poetry install --no-ansi
- name: Test linux
if: runner.os == 'Linux'
uses: nick-fields/retry@v2
with:
timeout_minutes: 10
max_attempts: 3
command: |
sudo apt-get install -y xvfb xserver-xephyr scrot gnome-screenshot
mkdir -p screenshots
xvfb-run -a poetry run pytest -v
- name: Test windows
if: runner.os == 'Windows'
uses: nick-fields/retry@v2
with:
timeout_minutes: 10
max_attempts: 3
command: |
mkdir -p screenshots
poetry run pytest -v
- name: Test mac [1]
if: runner.os == 'macOS'
uses: nick-fields/retry@v2
with:
timeout_minutes: 10
max_attempts: 3
# Xvfb not available until next job
command: |
brew install --cask xquartz
echo "/opt/X11/bin" >> $GITHUB_PATH
- name: Test mac [2]
if: runner.os == 'macOS'
uses: nick-fields/retry@v2
with:
timeout_minutes: 10
max_attempts: 3
command: |
mkdir -p screenshots
Xvfb :1 &
export DISPLAY=":1"
poetry run pytest -v
- name: Upload screenshots
uses: actions/upload-artifact@v3
if: always()
with:
name: screenshots
path: screenshots/*.png
- name: Setup tmate session
# Enables ssh session during manually triggered ci runs
uses: mxschmitt/action-tmate@v3
if: ${{ failure() && github.event_name == 'workflow_dispatch' }}