cvw/.github/workflows/install.yml

103 lines
3.0 KiB
YAML
Raw Normal View History

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
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"]
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
- name: make tests
2024-07-17 08:42:02 +00:00
run: |
source setup.sh
make riscof
2024-07-23 09:00:27 +00:00
- name: make buildroot
run: |
source setup.sh
make -C linux
- 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-07-21 21:16:12 +00:00
- 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-23 07:19:20 +00:00
- uses: actions/upload-artifact@v4
if: always()
with:
name: installation-logs-${{ matrix.os }}
path: /opt/riscv/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
- 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
- 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-20 02:00:14 +00:00
run: ./bin/wally-tool-chain-install.sh --clean
- name: make tests
2024-07-17 08:25:06 +00:00
run: |
source setup.sh
make riscof
2024-07-23 22:57:30 +00:00
- name: make buildroot
run: |
source setup.sh
make -C linux
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-07-21 21:16:12 +00:00
- uses: actions/upload-artifact@v4
2024-07-21 18:16:08 +00:00
if: always()
with:
2024-07-21 21:16:12 +00:00
name: regression-logs-${{ env.ARTIFACT_NAME }}
2024-07-21 18:16:08 +00:00
path: ${{ github.workspace }}/sim/verilator/logs/
2024-07-23 07:19:20 +00:00
- uses: actions/upload-artifact@v4
if: always()
with:
name: installation-logs-${{ env.ARTIFACT_NAME }}
path: /opt/riscv/logs/