mirror of
https://github.com/retroSoC/retroSoC.git
synced 2026-11-04 22:32:36 +00:00
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>
127 lines
4.5 KiB
YAML
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
|