Skip to content

Merge pull request #102 from OpenXiangShan/feat-nix #304

Merge pull request #102 from OpenXiangShan/feat-nix

Merge pull request #102 from OpenXiangShan/feat-nix #304

Workflow file for this run

name: ci
on: [push, pull_request]
jobs:
difftest:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
dutName: [ysyx3, rocket, small-boom, large-boom, minimal-xiangshan]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install dependencies
run: |
sudo apt install -y flex bison libfl-dev
# Since ubuntu 2404 doesn't comes with llvm >= 19
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "20.1.4"
- name: Install verilator
uses: YosysHQ/setup-oss-cad-suite@v3
with:
version: "2025-04-24"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Enlarge swap
if: matrix.dutName == 'minimal-xiangshan'
run: |
sudo fallocate -l 60G /mnt/swapfile2
sudo chmod 600 /mnt/swapfile2
sudo mkswap /mnt/swapfile2
sudo swapon /mnt/swapfile2
- name: Check resources
run: |
echo "nproc = `nproc`"
free -h
df -h
verilator --version
- name: Untar resources
run: make init
- name: Run ${{ matrix.dutName }} (difftest with verilator)
run: |
sed -i -e "s/--threads [^ ]*/--threads `nproc`/" Makefile
make -j `nproc` diff dutName=${{ matrix.dutName }}
bolt-ysyx3:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install dependencies
run: |
sudo apt install -y flex bison libfl-dev
# Since ubuntu 2404 doesn't comes with llvm >= 19
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: "20.1.4"
- name: Install verilator
uses: YosysHQ/setup-oss-cad-suite@v3
with:
version: "2025-04-24"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Check resources
run: |
echo "nproc = `nproc`"
free -h
df -h
verilator --version
- name: Untar resources
run: make init
- name: Run ysyx3 (with bolt)
run: |
sed -i -e "s/--threads [^ ]*/--threads `nproc`/" Makefile
make -j `nproc` bolt dutName=ysyx3