Files
retroSoC/.github/workflows/development-environment.yml
T
dependabot[bot] bbbfcb8bf9 build(deps): bump actions/upload-artifact from 4.3.3 to 7.0.2
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 7.0.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/65462800fd760344b1a7b4382951275a0abb4808...cf430e030ddbb5b0abf93d22962f4752f3646cd9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-11 10:53:16 +00:00

127 lines
4.5 KiB
YAML

name: development-environment
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: development-environment-${{ github.ref }}
cancel-in-progress: true
jobs:
ihp130-regression:
name: ${{ matrix.environment }} / IHP130 regression
runs-on: ubuntu-22.04
timeout-minutes: 360
strategy:
fail-fast: false
matrix:
environment: [docker, nix]
env:
PIP_DISABLE_PIP_VERSION_CHECK: "1"
IHP130_REGRESSION_COMMAND: |
set -euo pipefail
python3 scripts/development_environment.py \
--cache "${RETROSOC_DEVELOPMENT_CACHE}" check
make CONFIG=configs/ci/ihp130.mk setup
make CONFIG=configs/ci/ihp130.mk \
SIMU=IVERILOG SYNTH=NONE STA=NONE doctor
make CONFIG=configs/ci/ihp130.mk \
SIMU=VERILATOR SYNTH=NONE STA=NONE doctor
make CONFIG=configs/ci/ihp130.mk \
SIMU=IVERILOG SYNTH=YOSYS STA=NONE doctor
make CONFIG=configs/ci/ihp130.mk \
SIMU=IVERILOG SYNTH=NONE STA=OPENSTA doctor
python3 scripts/regress.py --root . --suite pr \
--pdk IHP130 --behavioral-only
steps:
- name: Check out repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Restore locked IHP130 sources
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: |
app/coremark/coremark-main
app/fatfs/ff16
physical/pdk/IHP-Open-PDK
rtl/managed/clusterip/archinfo
rtl/managed/clusterip/common
rtl/managed/clusterip/crc
rtl/managed/clusterip/ps2
rtl/managed/clusterip/pwm
rtl/managed/clusterip/rng
rtl/managed/clusterip/rtc
rtl/managed/clusterip/wdg
rtl/managed/third_party
rtl/managed/mpw
.cache/retrosoc/pdk
.cache/retrosoc/stamps
key: sources-IHP130-${{ runner.os }}-${{ hashFiles('dependencies/dependencies.lock.json') }}
- name: Restore SBT dependency cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: .cache/retrosoc/sbt
key: environment-sbt-${{ runner.os }}-${{ hashFiles('dependencies/dependencies.lock.json') }}
- name: Restore Verilator compiler cache
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: .cache/retrosoc/ccache
key: environment-ccache-${{ matrix.environment }}-${{ runner.os }}-${{ github.sha }}-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
environment-ccache-${{ matrix.environment }}-${{ runner.os }}-${{ github.sha }}-
environment-ccache-${{ matrix.environment }}-${{ runner.os }}-
- name: Build Docker development environment
if: matrix.environment == 'docker'
run: docker build --tag retrosoc-dev-ci --file docker/Dockerfile .
- name: Install Nix
if: matrix.environment == 'nix'
uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
enable_kvm: false
- name: Check Nix flake
if: matrix.environment == 'nix'
run: nix flake check
- name: Run IHP130 regression in development environment
env:
ENVIRONMENT: ${{ matrix.environment }}
run: |
if [[ "${ENVIRONMENT}" == "docker" ]]; then
docker run --rm --init --platform linux/amd64 \
--user "$(id -u):$(id -g)" \
--env GITHUB_ACTIONS=true \
--volume "${GITHUB_WORKSPACE}:/workspace/retrosoc" \
retrosoc-dev-ci bash -c "${IHP130_REGRESSION_COMMAND}"
else
nix run .#dev -- bash -c "${IHP130_REGRESSION_COMMAND}"
fi
- name: Upload reports and structured results
if: always()
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
with:
name: environment-${{ matrix.environment }}-ihp130-${{ github.run_id }}-${{ github.run_attempt }}
path: |
build/**/meta/*.json
build/**/formal/**/*.sby
build/**/formal/**/*.smt2
build/**/formal/**/*.vcd
build/**/formal/**/*.yw
build/**/formal/**/status
build/**/*.log
build/**/*.rpt
if-no-files-found: warn
retention-days: 30