Huge Refactor/Renovation #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Squishy PR Tests" | |
on: | |
pull_request: {} | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
name: 'Lint Squishy' | |
steps: | |
- name: 'Setup Python' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: 'Initialize Env' | |
shell: bash | |
env: | |
WORKSPACE: ${{ github.workspace }} | |
run: | | |
echo "$HOME/.local/bin:$PATH" >> $GITHUB_PATH | |
echo "GITHUB_WORKSPACE=\"`pwd`\"" >> $GITHUB_ENV | |
- name: 'Checkout' | |
uses: actions/checkout@v4 | |
- name: 'Setup' | |
shell: bash | |
run: | | |
python -m pip install --user --upgrade pip setuptools wheel setuptools_scm nox | |
- name: 'Run Style Check' | |
shell: bash | |
continue-on-error: true | |
run: | | |
nox -s lint | |
test-squishy: | |
runs-on: ubuntu-latest | |
name: 'Test Squishy (Python ${{ matrix.python-version }})' | |
strategy: | |
matrix: | |
python-version: ['3.11', '3.12', '3.13', '3.14.0-alpha.1'] | |
fail-fast: true | |
steps: | |
- name: 'Setup Python ${{ matrix.python-version }}' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: 'Initialize Env' | |
shell: bash | |
env: | |
WORKSPACE: ${{ github.workspace }} | |
run: | | |
echo "$HOME/.local/bin:$PATH" >> $GITHUB_PATH | |
echo "GITHUB_WORKSPACE=\"`pwd`\"" >> $GITHUB_ENV | |
- name: 'Checkout' | |
uses: actions/checkout@v4 | |
- name: 'Setup OSS CAD Suite' | |
uses: YosysHQ/setup-oss-cad-suite@v3 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: 'Setup' | |
shell: bash | |
run: | | |
python -m pip install --user --upgrade pip setuptools wheel setuptools_scm nox | |
- name: 'Run Tests' | |
timeout-minutes: 15 # Python 3.12 and 3.13 seem to just hang on testing ~sometimes~ | |
continue-on-error: ${{ matrix.python-version == '3.12' || matrix.python-version == '3.13' }} | |
shell: bash | |
run: | | |
nox -s test | |
- name: 'Codecov' | |
if: success() && github.repository == 'squishy-scsi/squishy' | |
uses: codecov/codecov-action@v4 | |
continue-on-error: true # It's not super mission critical that the coverage upload fails | |
with: | |
verbose: true | |
files: ./build/tests/coverage.xml | |
token: ${{ secrets.CODECOV_TOKEN }} |