mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-06 14:55:14 +00:00
- Updated the file to improve code readability and maintainability by removing commented-out code and adding generated GPIO alternate-function wiring. - Modified to streamline simulation command configurations and removed unnecessary variables. - Introduced a new testbench to validate NMI routing functionality within the SoC topology. - Added comprehensive tests in to ensure the correctness of generated bindings and validate topology constraints. - Adjusted to reflect changes in regression command imports and ensure uniform timeout settings for Verilator simulations.
82 lines
2.1 KiB
YAML
82 lines
2.1 KiB
YAML
name: quality
|
|
|
|
on:
|
|
push:
|
|
branches: [main, dev]
|
|
pull_request:
|
|
branches: [main, dev]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: quality-${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
scripts:
|
|
runs-on: ubuntu-22.04
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: Check out repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Restore pip cache
|
|
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: pip-${{ runner.os }}-${{ hashFiles('requirements/ci.txt') }}
|
|
|
|
- name: Install pinned quality tools
|
|
run: python3 -m pip install --requirement requirements/ci.txt
|
|
|
|
- name: Install clang-format
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --no-install-recommends --yes clang-format-14
|
|
|
|
- name: Set up locked RTL formatter
|
|
uses: ./.github/actions/locked-tools
|
|
with:
|
|
tools: verible
|
|
|
|
- name: Validate dependency lock
|
|
run: python3 scripts/dependency_lock.py --lock config/dependencies.lock.json
|
|
|
|
- name: Validate SoC integration topology
|
|
run: make check-soc-topology
|
|
|
|
- name: Lint Python
|
|
run: ruff check .
|
|
|
|
- name: Check source formatting
|
|
run: make format-check
|
|
|
|
- name: Check embedded C safety policy
|
|
run: make sw-policy-check
|
|
|
|
- name: Run embedded C host tests
|
|
run: make sw-host-test
|
|
|
|
- name: Test scripts
|
|
run: python3 -m pytest -q
|
|
|
|
- name: Lint YAML
|
|
run: yamllint .github .yamllint.yml
|
|
|
|
- name: Install pinned actionlint
|
|
env:
|
|
GOBIN: ${{ runner.temp }}/actionlint-bin
|
|
run: |
|
|
go install github.com/rhysd/actionlint/cmd/actionlint@v1.7.12
|
|
echo "${GOBIN}" >> "${GITHUB_PATH}"
|
|
|
|
- name: Lint GitHub Actions
|
|
run: actionlint
|
|
|
|
- name: Validate regression definitions
|
|
run: |
|
|
python3 scripts/regress.py --root . --suite pr --dry-run
|
|
python3 scripts/regress.py --root . --suite nightly --dry-run
|