2024-07-16 07:14:57 +00:00
|
|
|
name: Installation
|
2024-07-21 21:16:12 +00:00
|
|
|
on: [workflow_dispatch, push]
|
2024-07-18 04:34:55 +00:00
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell: bash
|
2024-07-05 03:52:52 +00:00
|
|
|
|
|
|
|
jobs:
|
2024-07-16 07:14:57 +00:00
|
|
|
ubuntu_install:
|
|
|
|
name: Test installation on ${{ matrix.os }}
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
2024-07-16 07:33:56 +00:00
|
|
|
fail-fast: false
|
2024-07-16 07:14:57 +00:00
|
|
|
matrix:
|
2024-07-17 08:25:06 +00:00
|
|
|
os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"]
|
2024-07-05 03:52:52 +00:00
|
|
|
steps:
|
2024-07-17 08:50:19 +00:00
|
|
|
- uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
2024-07-06 13:52:43 +00:00
|
|
|
- name: Free up storage
|
|
|
|
run: |
|
2024-07-17 08:25:06 +00:00
|
|
|
df -h
|
2024-07-17 08:50:19 +00:00
|
|
|
./.github/cli-space-cleanup.sh
|
2024-07-06 13:45:34 +00:00
|
|
|
df -h
|
2024-07-06 13:52:43 +00:00
|
|
|
- name: install
|
2024-07-20 02:00:14 +00:00
|
|
|
run: sudo ./bin/wally-tool-chain-install.sh --clean
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: Upload installation logs
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
name: installation-logs-${{ matrix.os }}
|
|
|
|
path: /opt/riscv/logs/
|
2024-07-16 07:47:38 +00:00
|
|
|
- name: make tests
|
2024-07-17 08:42:02 +00:00
|
|
|
run: |
|
|
|
|
source setup.sh
|
2024-10-08 22:20:02 +00:00
|
|
|
make riscof
|
2024-07-23 09:00:27 +00:00
|
|
|
- name: regression
|
2024-07-17 08:42:02 +00:00
|
|
|
run: |
|
|
|
|
source setup.sh
|
2024-07-21 06:16:35 +00:00
|
|
|
regression-wally
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: Upload regression logs
|
|
|
|
uses: actions/upload-artifact@v4
|
2024-07-21 18:16:08 +00:00
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
name: regression-logs-${{ matrix.os }}
|
|
|
|
path: ${{ github.workspace }}/sim/verilator/logs/
|
2024-07-17 08:25:06 +00:00
|
|
|
|
2024-07-16 07:14:57 +00:00
|
|
|
rhel_family_install:
|
|
|
|
name: Test installation on ${{ matrix.os }}
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
container:
|
|
|
|
image: ${{ matrix.os }}
|
2024-07-17 08:50:19 +00:00
|
|
|
options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash
|
2024-07-16 07:14:57 +00:00
|
|
|
strategy:
|
2024-07-16 07:33:56 +00:00
|
|
|
fail-fast: false
|
2024-07-16 07:14:57 +00:00
|
|
|
matrix:
|
2024-07-17 08:25:06 +00:00
|
|
|
os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"]
|
2024-07-16 07:14:57 +00:00
|
|
|
steps:
|
2024-07-21 21:16:12 +00:00
|
|
|
- name: Unique name for Artifacts
|
|
|
|
id: prep_artifact_name
|
|
|
|
run: |
|
|
|
|
name=$(echo -n "${{ matrix.os }}" | sed -e 's/[ \t:\/\\"<>|*?]/-/g' -e 's/--*/-/g')
|
|
|
|
echo "ARTIFACT_NAME=$name" >> $GITHUB_ENV
|
2024-07-17 08:46:51 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
run: |
|
|
|
|
dnf install -y sudo git
|
2024-07-17 08:50:19 +00:00
|
|
|
dnf install curl -y --allowerasing || true
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
2024-07-20 05:50:43 +00:00
|
|
|
- name: Fix git ownership
|
|
|
|
run: git config --global --add safe.directory '*'
|
2024-07-17 08:42:02 +00:00
|
|
|
- name: Free up storage
|
2024-07-16 07:14:57 +00:00
|
|
|
run: |
|
|
|
|
df -h
|
2024-07-17 08:42:02 +00:00
|
|
|
nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)"
|
2024-07-16 07:14:57 +00:00
|
|
|
df -h
|
|
|
|
- name: install
|
2024-07-24 06:35:11 +00:00
|
|
|
run: sudo ./bin/wally-tool-chain-install.sh --clean
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: Upload installation logs
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
name: installation-logs-${{ env.ARTIFACT_NAME }}
|
|
|
|
path: /opt/riscv/logs/
|
|
|
|
- name: make tests
|
2024-07-26 22:21:43 +00:00
|
|
|
run: |
|
|
|
|
source setup.sh
|
2024-09-30 15:07:35 +00:00
|
|
|
make riscof --jobs $(nproc --ignore 1)
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: regression
|
|
|
|
run: |
|
|
|
|
source setup.sh
|
|
|
|
regression-wally
|
|
|
|
- name: Upload regression logs
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
name: regression-logs-${{ env.ARTIFACT_NAME }}
|
|
|
|
path: ${{ github.workspace }}/sim/verilator/logs/
|
|
|
|
|
|
|
|
|
|
|
|
user_install:
|
|
|
|
name: Test installation with user permissions
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
- name: Free up storage
|
|
|
|
run: |
|
|
|
|
df -h
|
|
|
|
./.github/cli-space-cleanup.sh
|
|
|
|
df -h
|
|
|
|
- name: install packages with sudo
|
|
|
|
run: sudo ./bin/wally-package-install.sh
|
|
|
|
- name: install
|
|
|
|
run: ./bin/wally-tool-chain-install.sh --clean
|
|
|
|
- name: Upload installation logs
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
|
|
|
name: installation-logs-user-install
|
|
|
|
path: ~/riscv/logs/
|
2024-07-16 07:47:38 +00:00
|
|
|
- name: make tests
|
2024-07-17 08:25:06 +00:00
|
|
|
run: |
|
|
|
|
source setup.sh
|
2024-09-30 15:07:35 +00:00
|
|
|
make riscof --jobs $(nproc --ignore 1)
|
2024-07-21 06:16:35 +00:00
|
|
|
- name: regression
|
2024-07-17 08:25:06 +00:00
|
|
|
run: |
|
|
|
|
source setup.sh
|
2024-07-21 06:16:35 +00:00
|
|
|
regression-wally
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: Upload regression logs
|
|
|
|
uses: actions/upload-artifact@v4
|
2024-07-21 18:16:08 +00:00
|
|
|
if: always()
|
|
|
|
with:
|
2024-08-08 05:02:33 +00:00
|
|
|
name: regression-logs-user-install
|
2024-07-21 18:16:08 +00:00
|
|
|
path: ${{ github.workspace }}/sim/verilator/logs/
|
2024-08-08 05:02:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
custom_location_install:
|
2024-08-08 05:11:40 +00:00
|
|
|
name: Test installation with custom location ${{ matrix.path }}
|
2024-08-08 05:02:33 +00:00
|
|
|
runs-on: ubuntu-latest
|
2024-08-08 05:11:40 +00:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
path: ["/home/riscv"]
|
2024-08-08 05:02:33 +00:00
|
|
|
steps:
|
2024-08-08 05:11:40 +00:00
|
|
|
- name: Unique name for Artifacts
|
|
|
|
id: prep_artifact_name
|
|
|
|
run: |
|
|
|
|
name=$(echo -n "${{ matrix.os }}" | sed -e 's/[ \t:\/\\"<>|*?]/-/g' -e 's/--*/-/g')
|
|
|
|
echo "ARTIFACT_NAME=$name" >> $GITHUB_ENV
|
2024-08-08 05:02:33 +00:00
|
|
|
- uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
- name: Free up storage
|
|
|
|
run: |
|
|
|
|
df -h
|
|
|
|
./.github/cli-space-cleanup.sh
|
|
|
|
df -h
|
|
|
|
- name: install
|
2024-08-08 05:11:40 +00:00
|
|
|
run: sudo ./bin/wally-tool-chain-install.sh --clean ${{ matrix.path }}
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: Upload instalation logs
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
if: always()
|
|
|
|
with:
|
2024-08-08 05:11:40 +00:00
|
|
|
name: installation-logs-custom-location-install-${{ env.ARTIFACT_NAME }}
|
|
|
|
path: ${{ matrix.path }}/logs/
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: Update setup.sh with new $RISCV location
|
2024-08-08 05:11:40 +00:00
|
|
|
run: sed -i 's,exit 1,export RISCV=${{ matrix.path }},g' setup.sh
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: make tests
|
|
|
|
run: |
|
|
|
|
source setup.sh
|
2024-09-30 15:07:35 +00:00
|
|
|
make riscof --jobs $(nproc --ignore 1)
|
2024-08-08 05:02:33 +00:00
|
|
|
- name: regression
|
|
|
|
run: |
|
|
|
|
source setup.sh
|
|
|
|
regression-wally
|
|
|
|
- name: Upload regression logs
|
|
|
|
uses: actions/upload-artifact@v4
|
2024-07-23 07:19:20 +00:00
|
|
|
if: always()
|
|
|
|
with:
|
2024-08-08 05:11:40 +00:00
|
|
|
name: regression-logs-custom-location-install-${{ env.ARTIFACT_NAME }}
|
|
|
|
path: ${{ github.workspace }}/sim/verilator/logs/
|