From 10f0e5eeeecac5336024ebdfcef35934b4f85a4d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 00:11:09 -0700 Subject: [PATCH] Combine remaining install tests --- .github/workflows/install.yml | 120 ++++++---------------------------- 1 file changed, 21 insertions(+), 99 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 0956ef23b..9441215a8 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -34,6 +34,16 @@ jobs: - name: almalinux-9 os: ubuntu-latest image: almalinux:9 + # User level installation + - name: user-install + os: ubuntu-latest + image: null + user: true + # Custom location installation + - name: custom-install + os: ubuntu-latest + image: null + riscv_path: /home/riscv runs-on: ${{ matrix.os }} container: @@ -60,9 +70,18 @@ jobs: fi df -h - name: Install - run: sudo ./bin/wally-tool-chain-install.sh --clean + run: | + if [ -z ${{ matrix.user }} ]; then + sudo ./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }} + else + sudo ./bin/wally-package-install.sh + . /bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }} + fi - name: Set Environment Variables run: | + if [ ! -z ${{ matrix.riscv_path }} ]; then + sed -i 's,exit 1,export RISCV=${{ matrix.riscv_path }},g' setup.sh + fi source setup.sh echo "RISCV=$RISCV" >> "$GITHUB_ENV" - name: Upload Installation Logs @@ -77,7 +96,7 @@ jobs: make riscof --jobs $(nproc --ignore 1) - name: Remove Buildroot to Save Space run: | - sudo rm -rf /opt/riscv/buildroot/output/build + sudo rm -rf $RISCV/buildroot/output/build df -h - name: Regression run: | @@ -89,100 +108,3 @@ jobs: with: name: regression-logs-${{ matrix.name }} path: ${{ github.workspace }}/sim/verilator/logs/ - - - user_install: - name: Test installation with user permissions - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Clone Necessary Submodules - run: | - git config --global --add safe.directory '*' - git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - - 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/ - - name: make tests - run: | - source setup.sh - make riscof --jobs $(nproc --ignore 1) - - name: check storage - run: | - sudo rm -rf /opt/riscv/buildroot/output/build - df -h - - name: regression - run: | - source setup.sh - regression-wally - - name: Upload regression logs - uses: actions/upload-artifact@v4 - if: always() - with: - name: regression-logs-user-install - path: ${{ github.workspace }}/sim/verilator/logs/ - - - custom_location_install: - name: Test installation with custom location ${{ matrix.path }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - path: ["/home/riscv"] - steps: - - 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 - - uses: actions/checkout@v4 - - name: Clone Necessary Submodules - run: | - git config --global --add safe.directory '*' - git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - - name: Free up storage - run: | - df -h - ./.github/cli-space-cleanup.sh - df -h - - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean ${{ matrix.path }} - - name: Upload instalation logs - uses: actions/upload-artifact@v4 - if: always() - with: - name: installation-logs-custom-location-install-${{ env.ARTIFACT_NAME }} - path: ${{ matrix.path }}/logs/ - - name: Update setup.sh with new $RISCV location - run: sed -i 's,exit 1,export RISCV=${{ matrix.path }},g' setup.sh - - name: make tests - run: | - source setup.sh - make riscof --jobs $(nproc --ignore 1) - - name: check storage - run: | - sudo rm -rf ${{ matrix.path }}/buildroot/output/build - df -h - - name: regression - run: | - source setup.sh - regression-wally - - name: Upload regression logs - uses: actions/upload-artifact@v4 - if: always() - with: - name: regression-logs-custom-location-install-${{ env.ARTIFACT_NAME }} - path: ${{ github.workspace }}/sim/verilator/logs/