12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #
- # ci-unit-tests.yml
- # Build and execute unit tests to catch functional issues in code
- #
- name: CI - Unit Tests
- on:
- pull_request:
- branches:
- - bugfix-2.1.x
- # Cannot be enabled on 2.1.x until it contains the unit test framework
- #- 2.1.x
- paths-ignore:
- - config/**
- - data/**
- - docs/**
- - '**/*.md'
- push:
- branches:
- - bugfix-2.1.x
- # Cannot be enabled on 2.1.x until it contains the unit test framework
- #- 2.1.x
- paths-ignore:
- - config/**
- - data/**
- - docs/**
- - '**/*.md'
- jobs:
- # This runs all unit tests as a single job. While it should be possible to break this up into
- # multiple jobs, they currently run quickly and finish long before the compilation tests.
- run_unit_tests:
- name: Unit Test
- # These tests will only be able to run on the bugfix-2.1.x branch, until the next release
- # pulls them into additional branches.
- if: github.repository == 'MarlinFirmware/Marlin'
- runs-on: ubuntu-22.04
- steps:
- - name: Check out the PR
- uses: actions/checkout@v4
- - name: Cache pip
- uses: actions/cache@v4
- with:
- path: ~/.cache/pip
- key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
- restore-keys: |
- ${{ runner.os }}-pip-
- - name: Cache PlatformIO
- uses: actions/cache@v4
- with:
- path: ~/.platformio
- key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
- - name: Select Python 3.9
- uses: actions/setup-python@v5
- with:
- python-version: '3.9'
- architecture: 'x64'
- - name: Install PlatformIO
- run: |
- pip install -U platformio
- pio upgrade --dev
- pio pkg update --global
- - name: Run All Unit Tests
- run: |
- make unit-test-all-local
|