New and shiny manual! #443
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
on: | |
push: | |
branches: main | |
pull_request: | |
merge_group: | |
name: CI | |
jobs: | |
test-software: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
python-version: | |
- '3.8' | |
- '3.9' | |
- '3.10' | |
- '3.11' | |
- 'pypy-3.8' | |
- 'pypy-3.9' | |
allow-failure: | |
- false | |
include: | |
- python-version: '3.12-dev' | |
allow-failure: true | |
continue-on-error: '${{ matrix.allow-failure }}' | |
name: 'test-software (${{ matrix.python-version }})' | |
steps: | |
- name: Preserve caches | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/wasmtime | |
~/.cache/YoWASP | |
~/.cache/GlasgowEmbedded | |
key: ${{ runner.os }} | |
- name: Check out source code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up PDM | |
uses: pdm-project/setup-pdm@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
working-directory: ./software | |
run: pdm install -G :all | |
- name: Run tests | |
working-directory: ./software | |
env: | |
YOSYS: yowasp-yosys | |
NEXTPNR_ICE40: yowasp-nextpnr-ice40 | |
ICEPACK: yowasp-icepack | |
run: pdm run test | |
build-firmware: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out source code | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install sdcc | |
- name: Build libfx2 | |
working-directory: ./vendor/libfx2/firmware | |
run: make | |
- name: Build firmware | |
working-directory: ./firmware | |
run: make | |
build-manual: | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
working-directory: docs/manual | |
steps: | |
- name: Check out source code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up PDM | |
uses: pdm-project/setup-pdm@v3 | |
- name: Install dependencies | |
run: | | |
pdm install | |
- name: Build documentation | |
run: | | |
pdm run build | |
- name: Upload documentation archive | |
uses: actions/upload-artifact@v3 | |
with: | |
name: docs | |
path: docs/_build | |
required: # group all required workflows into one to avoid reconfiguring this in Actions settings | |
needs: | |
- test-software | |
- build-firmware | |
- build-manual | |
runs-on: ubuntu-latest | |
steps: | |
- run: | | |
true |