mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Add comments
This commit is contained in:
parent
b4447b393c
commit
ffee13625b
19
.github/workflows/install.yml
vendored
19
.github/workflows/install.yml
vendored
@ -8,6 +8,8 @@
|
|||||||
##################################
|
##################################
|
||||||
|
|
||||||
name: Installation
|
name: Installation
|
||||||
|
|
||||||
|
# Run on PR that modifies the installation scripts, weekly, or manually
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
pull_request:
|
pull_request:
|
||||||
@ -19,9 +21,12 @@ on:
|
|||||||
- 'wally-package-install.sh'
|
- 'wally-package-install.sh'
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * 3" # Run at 12:00 AM on Wednesdays
|
- cron: "0 0 * * 3" # Run at 12:00 AM on Wednesdays
|
||||||
|
|
||||||
|
# Use bash shell with extra GitHub Actions options for all jobs
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
installation_test:
|
installation_test:
|
||||||
name: Test installation for ${{ matrix.name }}
|
name: Test installation for ${{ matrix.name }}
|
||||||
@ -63,21 +68,26 @@ jobs:
|
|||||||
image: null
|
image: null
|
||||||
riscv_path: /home/riscv
|
riscv_path: /home/riscv
|
||||||
|
|
||||||
|
# run on selected version of ubuntu or on ubuntu-latest with docker image
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
container:
|
container:
|
||||||
image: ${{ matrix.image }}
|
image: ${{ matrix.image }}
|
||||||
options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash
|
options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash # Allow for connection with host
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
# Docker images need git installed or the checkout action fails
|
||||||
- name: Install Dependencies for Red Hat
|
- name: Install Dependencies for Red Hat
|
||||||
if: ${{ matrix.image != null }}
|
if: ${{ matrix.image != null }}
|
||||||
run: |
|
run: |
|
||||||
dnf install -y sudo git
|
dnf install -y sudo git
|
||||||
dnf install curl -y --allowerasing || true
|
dnf install curl -y --allowerasing || true
|
||||||
|
# Only clone submodules needed for standard tests/regression to save space
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Clone Necessary Submodules
|
- name: Clone Necessary Submodules
|
||||||
run: |
|
run: |
|
||||||
git config --global --add safe.directory '*'
|
git config --global --add safe.directory '*'
|
||||||
git submodule update --init addins/riscv-arch-test addins/verilog-ethernet
|
git submodule update --init addins/riscv-arch-test addins/verilog-ethernet
|
||||||
|
# Free up space on the host machine, either from the container or the host
|
||||||
- name: Free Up Storage
|
- name: Free Up Storage
|
||||||
run: |
|
run: |
|
||||||
df -h
|
df -h
|
||||||
@ -87,6 +97,7 @@ jobs:
|
|||||||
nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)"
|
nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)"
|
||||||
fi
|
fi
|
||||||
df -h
|
df -h
|
||||||
|
# Run main tool chain installation script, either as a user or system wide
|
||||||
- name: Install
|
- name: Install
|
||||||
run: |
|
run: |
|
||||||
if [ -z ${{ matrix.user }} ]; then
|
if [ -z ${{ matrix.user }} ]; then
|
||||||
@ -95,6 +106,7 @@ jobs:
|
|||||||
sudo ./bin/wally-package-install.sh
|
sudo ./bin/wally-package-install.sh
|
||||||
./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }}
|
./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }}
|
||||||
fi
|
fi
|
||||||
|
# Set environment variables for the rest of the job
|
||||||
- name: Set Environment Variables
|
- name: Set Environment Variables
|
||||||
run: |
|
run: |
|
||||||
if [ ! -z ${{ matrix.riscv_path }} ]; then
|
if [ ! -z ${{ matrix.riscv_path }} ]; then
|
||||||
@ -102,25 +114,30 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
source setup.sh
|
source setup.sh
|
||||||
echo "RISCV=$RISCV" >> "$GITHUB_ENV"
|
echo "RISCV=$RISCV" >> "$GITHUB_ENV"
|
||||||
|
# Upload installation logs for debugging
|
||||||
- name: Upload Installation Logs
|
- name: Upload Installation Logs
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: installation-logs-${{ matrix.name }}
|
name: installation-logs-${{ matrix.name }}
|
||||||
path: ${{ env.RISCV }}/logs/
|
path: ${{ env.RISCV }}/logs/
|
||||||
|
# Make riscof only as that is the only testsuite used by standard regression
|
||||||
- name: make tests
|
- name: make tests
|
||||||
run: |
|
run: |
|
||||||
source setup.sh
|
source setup.sh
|
||||||
make riscof --jobs $(nproc --ignore 1)
|
make riscof --jobs $(nproc --ignore 1)
|
||||||
|
# Only the linux-testvectors are needed, so remove the rest of the buildroot to save space
|
||||||
- name: Remove Buildroot to Save Space
|
- name: Remove Buildroot to Save Space
|
||||||
run: |
|
run: |
|
||||||
sudo rm -rf $RISCV/buildroot/output/build
|
sudo rm -rf $RISCV/buildroot/output/build
|
||||||
df -h
|
df -h
|
||||||
|
# Run standard regression, skipping distros that are known to be broken with Verilator
|
||||||
- name: Regression
|
- name: Regression
|
||||||
if: ${{ matrix.name != 'ubuntu-20.04' && matrix.name != 'rocky-8' && matrix.name != 'almalinux-8'}}
|
if: ${{ matrix.name != 'ubuntu-20.04' && matrix.name != 'rocky-8' && matrix.name != 'almalinux-8'}}
|
||||||
run: |
|
run: |
|
||||||
source setup.sh
|
source setup.sh
|
||||||
regression-wally
|
regression-wally
|
||||||
|
# Upload regression logs for debugging
|
||||||
- name: Upload regression logs
|
- name: Upload regression logs
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
|
Loading…
Reference in New Issue
Block a user