docs(upstream): litepcie ecp5phy log → awaiting-upstream-feedback (discussion filed) #23
This file contains hidden or 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
| # SPDX-License-Identifier: CC-BY-SA-4.0 | |
| name: ci | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| docs-lint: | |
| name: Docs / ADR sanity | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Verify ADR files have status | |
| run: | | |
| for f in docs/adr/*.md; do | |
| grep -q '\*\*Status:\*\*' "$f" || { echo "$f missing **Status:**" ; exit 1; } | |
| done | |
| - name: Verify SPDX license identifier | |
| run: | | |
| shopt -s globstar | |
| for f in **/*.md docs/**/*.md; do | |
| [ -f "$f" ] || continue | |
| grep -q "SPDX-License-Identifier" "$f" || { echo "$f missing SPDX header" ; exit 1; } | |
| done | |
| kicad-erc-drc: | |
| name: KiCad / ERC + DRC | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install KiCad 8 CLI | |
| run: | | |
| # Ubuntu 24.04 ships KiCad 7.0.11 in the default repos, which | |
| # lacks `kicad-cli sch erc` and `kicad-cli pcb drc` (added in | |
| # KiCad 8.0). Pull KiCad 8 from the official kicad-developers | |
| # PPA (ppa:kicad/kicad-8.0-releases) so the ERC/DRC commands | |
| # below resolve. Sail rev-A KiCad project files declare KiCad | |
| # 8 sexpr versions (20231120 / 20240108) and KiCad 7 cannot | |
| # parse them. | |
| sudo add-apt-repository --yes ppa:kicad/kicad-8.0-releases | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends kicad | |
| kicad-cli --version | |
| - name: Run ERC on every .kicad_sch | |
| run: | | |
| set -euo pipefail | |
| shopt -s nullglob globstar | |
| rc=0 | |
| found=0 | |
| for f in kicad/**/*.kicad_sch; do | |
| [ -f "$f" ] || continue | |
| found=1 | |
| echo "::group::ERC $f" | |
| kicad-cli sch erc \ | |
| --output "/tmp/$(echo "$f" | tr '/' '_').erc.rpt" \ | |
| --exit-code-violations \ | |
| "$f" || rc=$? | |
| cat "/tmp/$(echo "$f" | tr '/' '_').erc.rpt" || true | |
| echo "::endgroup::" | |
| done | |
| if [ "$found" -eq 0 ]; then | |
| echo "no .kicad_sch files in tree; skipping ERC" | |
| fi | |
| exit "$rc" | |
| - name: Run DRC on every .kicad_pcb | |
| run: | | |
| set -euo pipefail | |
| shopt -s nullglob globstar | |
| rc=0 | |
| found=0 | |
| for f in kicad/**/*.kicad_pcb; do | |
| [ -f "$f" ] || continue | |
| found=1 | |
| echo "::group::DRC $f" | |
| kicad-cli pcb drc \ | |
| --output "/tmp/$(echo "$f" | tr '/' '_').drc.rpt" \ | |
| --exit-code-violations \ | |
| "$f" || rc=$? | |
| cat "/tmp/$(echo "$f" | tr '/' '_').drc.rpt" || true | |
| echo "::endgroup::" | |
| done | |
| if [ "$found" -eq 0 ]; then | |
| echo "no .kicad_pcb files in tree; skipping DRC" | |
| fi | |
| exit "$rc" |