From 64069319589e187c83622b5e815b5fe7deb02cf7 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 4 Jul 2024 23:52:52 -0400 Subject: [PATCH 001/106] Test installation regression GitHub action --- .github/workflows/install.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/install.yml diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml new file mode 100644 index 000000000..bb77a0c62 --- /dev/null +++ b/.github/workflows/install.yml @@ -0,0 +1,14 @@ +name: Installation test + +on: [workflow_dispatch] + +jobs: + install: + name: Test installation on Ubuntu 22.04LTS + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v4 + - name: install + run: sudo ./bin/wally-tool-chain-install + From 780147dfd6a072da358c319ef01e9418d47e5bb3 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 4 Jul 2024 23:55:13 -0400 Subject: [PATCH 002/106] Update install.yml --- .github/workflows/install.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index bb77a0c62..eb8255234 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -10,5 +10,8 @@ jobs: steps: - uses: actions/checkout@v4 - name: install - run: sudo ./bin/wally-tool-chain-install + run: | + pwd + cd cvw + sudo ./bin/wally-tool-chain-install From 9f38600caceb4f22ff29c227e8534907ca52db95 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 4 Jul 2024 23:56:24 -0400 Subject: [PATCH 003/106] Update install.yml --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index eb8255234..8a48f690a 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -12,6 +12,6 @@ jobs: - name: install run: | pwd - cd cvw - sudo ./bin/wally-tool-chain-install + ls + sudo ./bin/wally-tool-chain-install.sh From ac5a469034ac30332f77581f2d91e007ea79e1cd Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 5 Jul 2024 00:11:11 -0400 Subject: [PATCH 004/106] Update install.yml --- .github/workflows/install.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 8a48f690a..ca517a7b0 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -9,6 +9,9 @@ jobs: steps: - uses: actions/checkout@v4 + - run: sudo apt update + - run: sudo apt upgrade -y + - run: sudo apt install -y libunwind-dev - name: install run: | pwd From 9a399e7ef0e25c789449b409999114f3826f2488 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 5 Jul 2024 10:03:15 -0400 Subject: [PATCH 005/106] Update install.yml --- .github/workflows/install.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index ca517a7b0..e9ecdd0e5 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -12,6 +12,7 @@ jobs: - run: sudo apt update - run: sudo apt upgrade -y - run: sudo apt install -y libunwind-dev + - run: git clone --recurse-submodules -j 4 https://github.com/qemu/qemu - name: install run: | pwd From 8dcdd71830662e703287e01adb86860fda780207 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 5 Jul 2024 10:08:11 -0400 Subject: [PATCH 006/106] Update install.yml --- .github/workflows/install.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index e9ecdd0e5..16da4248e 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -9,13 +9,6 @@ jobs: steps: - uses: actions/checkout@v4 - - run: sudo apt update - - run: sudo apt upgrade -y - - run: sudo apt install -y libunwind-dev - - run: git clone --recurse-submodules -j 4 https://github.com/qemu/qemu - name: install - run: | - pwd - ls - sudo ./bin/wally-tool-chain-install.sh + run: sudo ./bin/wally-tool-chain-install.sh From 9fe94b86d2b1ae8a2a1ab93ceec1b3c3356500a4 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 09:12:05 -0400 Subject: [PATCH 007/106] Update install.yml --- .github/workflows/install.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 16da4248e..d07636bfa 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -8,6 +8,7 @@ jobs: runs-on: ubuntu-22.04 steps: + - run: df -h - uses: actions/checkout@v4 - name: install run: sudo ./bin/wally-tool-chain-install.sh From 0029483139d0da88640493fb103d18827729ac23 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 09:45:34 -0400 Subject: [PATCH 008/106] Update install.yml --- .github/workflows/install.yml | 37 ++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index d07636bfa..b8a29a9b4 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -9,7 +9,38 @@ jobs: steps: - run: df -h - - uses: actions/checkout@v4 - - name: install - run: sudo ./bin/wally-tool-chain-install.sh + - run: | + sudo rm -rf /usr/local/lib/android + df -h + - run: | + sudo rm -rf /usr/share/dotnet + df -h + - run: | + sudo rm -rf /opt/ghc + df -h + - run: | + sudo rm -rf /opt/hostedtoolcache/CodeQL + df -h + - run: | + sudo docker image prune --all --force + df -h + - run: | + sudo apt-get purge -y \ + '^llvm-.*' \ + 'php.*' \ + '^mongodb-.*' \ + '^mysql-.*' \ + azure-cli \ + google-cloud-cli \ + google-chrome-stable \ + firefox \ + powershell \ + microsoft-edge-stable \ + mono-devel + sudo apt-get autoremove -y + sudo apt-get clean + df -h + #- uses: actions/checkout@v4 + #- name: install + # run: sudo ./bin/wally-tool-chain-install.sh From 319982a65c10ae222a535a5dc87f7df40b227c86 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 09:52:43 -0400 Subject: [PATCH 009/106] Update install.yml --- .github/workflows/install.yml | 37 +++++++++++++---------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b8a29a9b4..b3cc2b6f4 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -8,23 +8,13 @@ jobs: runs-on: ubuntu-22.04 steps: - - run: df -h - - run: | - sudo rm -rf /usr/local/lib/android - df -h - - run: | - sudo rm -rf /usr/share/dotnet - df -h - - run: | - sudo rm -rf /opt/ghc - df -h - - run: | - sudo rm -rf /opt/hostedtoolcache/CodeQL - df -h - - run: | - sudo docker image prune --all --force - df -h - - run: | + - name: Free up storage + run: | + sudo rm -rf /usr/local/lib/android &> /dev/null + sudo rm -rf /usr/share/dotnet &> /dev/null + sudo rm -rf /opt/ghc &> /dev/null + sudo rm -rf /opt/hostedtoolcache/CodeQL &> /dev/null + sudo docker image prune --all --force &> /dev/null sudo apt-get purge -y \ '^llvm-.*' \ 'php.*' \ @@ -36,11 +26,12 @@ jobs: firefox \ powershell \ microsoft-edge-stable \ - mono-devel - sudo apt-get autoremove -y - sudo apt-get clean + mono-devel \ + &> /dev/null + sudo apt-get autoremove -y &> /dev/null + sudo apt-get clean &> /dev/null df -h - #- uses: actions/checkout@v4 - #- name: install - # run: sudo ./bin/wally-tool-chain-install.sh + - uses: actions/checkout@v4 + - name: install + run: sudo ./bin/wally-tool-chain-install.sh From 5717089c0219a1eaae6c94c6fa7faf805bbbf96c Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 10:00:28 -0400 Subject: [PATCH 010/106] Create rocky.yml --- .github/workflows/rocky.yml | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/rocky.yml diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml new file mode 100644 index 000000000..85ab33eff --- /dev/null +++ b/.github/workflows/rocky.yml @@ -0,0 +1,38 @@ +name: Installation test + +on: [workflow_dispatch] + +jobs: + install: + name: Test installation on Rocky 9 + runs-on: ubuntu-latest + container: rockylinux:8 + + steps: + - name: Free up storage + run: | + sudo rm -rf /usr/local/lib/android &> /dev/null + sudo rm -rf /usr/share/dotnet &> /dev/null + sudo rm -rf /opt/ghc &> /dev/null + sudo rm -rf /opt/hostedtoolcache/CodeQL &> /dev/null + sudo docker image prune --all --force &> /dev/null + sudo apt-get purge -y \ + '^llvm-.*' \ + 'php.*' \ + '^mongodb-.*' \ + '^mysql-.*' \ + azure-cli \ + google-cloud-cli \ + google-chrome-stable \ + firefox \ + powershell \ + microsoft-edge-stable \ + mono-devel \ + &> /dev/null + sudo apt-get autoremove -y &> /dev/null + sudo apt-get clean &> /dev/null + df -h + - uses: actions/checkout@v4 + - name: install + run: sudo ./bin/wally-tool-chain-install.sh + From a111541da596457723096111da54b6e5309b52bc Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 10:37:41 -0400 Subject: [PATCH 011/106] Update rocky.yml --- .github/workflows/rocky.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index 85ab33eff..9c4097aae 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -7,6 +7,9 @@ jobs: name: Test installation on Rocky 9 runs-on: ubuntu-latest container: rockylinux:8 + defaults: + run: + shell: bash steps: - name: Free up storage From 81e3b5024211cb025782bfa63c38c720cb93a3c2 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 20:27:22 -0400 Subject: [PATCH 012/106] Update rocky.yml --- .github/workflows/rocky.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index 9c4097aae..2a828667b 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -12,6 +12,9 @@ jobs: shell: bash steps: + - run: pwd + - run: ls + - run: df -h - name: Free up storage run: | sudo rm -rf /usr/local/lib/android &> /dev/null From e9d1c501eba24899bb3dee738caa9a76319c1372 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 20:30:23 -0400 Subject: [PATCH 013/106] Update rocky.yml --- .github/workflows/rocky.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index 2a828667b..72772f357 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -17,11 +17,11 @@ jobs: - run: df -h - name: Free up storage run: | - sudo rm -rf /usr/local/lib/android &> /dev/null - sudo rm -rf /usr/share/dotnet &> /dev/null - sudo rm -rf /opt/ghc &> /dev/null - sudo rm -rf /opt/hostedtoolcache/CodeQL &> /dev/null - sudo docker image prune --all --force &> /dev/null + sudo rm -rf /usr/local/lib/android + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf /opt/hostedtoolcache/CodeQL + sudo docker image prune --all --force sudo apt-get purge -y \ '^llvm-.*' \ 'php.*' \ @@ -35,7 +35,7 @@ jobs: microsoft-edge-stable \ mono-devel \ &> /dev/null - sudo apt-get autoremove -y &> /dev/null + sudo apt-get autoremove -y sudo apt-get clean &> /dev/null df -h - uses: actions/checkout@v4 From 9e9e30112752fdbbc61f5a88484e9ace1139785e Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 21:42:24 -0400 Subject: [PATCH 014/106] Update rocky.yml --- .github/workflows/rocky.yml | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index 72772f357..7a4bca157 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -12,32 +12,15 @@ jobs: shell: bash steps: - - run: pwd - - run: ls - run: df -h - name: Free up storage run: | - sudo rm -rf /usr/local/lib/android - sudo rm -rf /usr/share/dotnet - sudo rm -rf /opt/ghc - sudo rm -rf /opt/hostedtoolcache/CodeQL - sudo docker image prune --all --force - sudo apt-get purge -y \ - '^llvm-.*' \ - 'php.*' \ - '^mongodb-.*' \ - '^mysql-.*' \ - azure-cli \ - google-cloud-cli \ - google-chrome-stable \ - firefox \ - powershell \ - microsoft-edge-stable \ - mono-devel \ - &> /dev/null - sudo apt-get autoremove -y - sudo apt-get clean &> /dev/null - df -h + rm -rf /usr/local/lib/android + rm -rf /usr/share/dotnet + rm -rf /opt/ghc + rm -rf /opt/hostedtoolcache/CodeQL + docker image prune --all --&> /dev/null + - run: df -h - uses: actions/checkout@v4 - name: install run: sudo ./bin/wally-tool-chain-install.sh From fb40f0477223d0320c9bb16391ece97b57b57b83 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 21:50:46 -0400 Subject: [PATCH 015/106] Update rocky.yml --- .github/workflows/rocky.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index 7a4bca157..f9a5450e9 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -13,14 +13,6 @@ jobs: steps: - run: df -h - - name: Free up storage - run: | - rm -rf /usr/local/lib/android - rm -rf /usr/share/dotnet - rm -rf /opt/ghc - rm -rf /opt/hostedtoolcache/CodeQL - docker image prune --all --&> /dev/null - - run: df -h - uses: actions/checkout@v4 - name: install run: sudo ./bin/wally-tool-chain-install.sh From 2e31836e69495f03bc590d94b15882a9b131c344 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 21:53:05 -0400 Subject: [PATCH 016/106] Update rocky.yml --- .github/workflows/rocky.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index f9a5450e9..a99c13521 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -15,5 +15,5 @@ jobs: - run: df -h - uses: actions/checkout@v4 - name: install - run: sudo ./bin/wally-tool-chain-install.sh + run: ./bin/wally-tool-chain-install.sh From e01c70a9d4a7ab3f5e50a5ffca9e39d45eb8a1e7 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 6 Jul 2024 21:54:55 -0400 Subject: [PATCH 017/106] Update rocky.yml --- .github/workflows/rocky.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index a99c13521..b405864d9 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -13,6 +13,7 @@ jobs: steps: - run: df -h + - run: dnf install -y sudo - uses: actions/checkout@v4 - name: install run: ./bin/wally-tool-chain-install.sh From 19244c9bd708f89351dabf31445a72877f9b4e54 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 7 Jul 2024 08:52:54 -0400 Subject: [PATCH 018/106] Update rocky.yml --- .github/workflows/rocky.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index b405864d9..32f02f000 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -6,13 +6,15 @@ jobs: install: name: Test installation on Rocky 9 runs-on: ubuntu-latest - container: rockylinux:8 defaults: run: shell: bash steps: - run: df -h + - name: free up storage + run: sudo rm -rf /usr/local/lib/android + - run: docker run rockylinux:8 - run: dnf install -y sudo - uses: actions/checkout@v4 - name: install From 653aaa80f4ca823768cef8d5457337ad31d4d915 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 7 Jul 2024 08:59:34 -0400 Subject: [PATCH 019/106] Update rocky.yml --- .github/workflows/rocky.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index 32f02f000..ba33a14e3 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -14,7 +14,7 @@ jobs: - run: df -h - name: free up storage run: sudo rm -rf /usr/local/lib/android - - run: docker run rockylinux:8 + - run: docker start -ia rockylinux:8 - run: dnf install -y sudo - uses: actions/checkout@v4 - name: install From b9ff0c18b0136b43624bab1df5374c161f1be0b6 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 7 Jul 2024 09:36:44 -0400 Subject: [PATCH 020/106] Update rocky.yml --- .github/workflows/rocky.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/rocky.yml b/.github/workflows/rocky.yml index ba33a14e3..be64697c0 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rocky.yml @@ -14,7 +14,7 @@ jobs: - run: df -h - name: free up storage run: sudo rm -rf /usr/local/lib/android - - run: docker start -ia rockylinux:8 + - run: docker run -ia rockylinux:8 - run: dnf install -y sudo - uses: actions/checkout@v4 - name: install From 58018ceff6921dc2fdaa7dc982a4862a043db012 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 15 Jul 2024 23:14:24 -0700 Subject: [PATCH 021/106] More rocky testing --- .github/workflows/{rocky.yml => rockyInstall.yml} | 6 +++--- .github/workflows/rockytest.yml | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) rename .github/workflows/{rocky.yml => rockyInstall.yml} (91%) create mode 100644 .github/workflows/rockytest.yml diff --git a/.github/workflows/rocky.yml b/.github/workflows/rockyInstall.yml similarity index 91% rename from .github/workflows/rocky.yml rename to .github/workflows/rockyInstall.yml index be64697c0..e01ea855f 100644 --- a/.github/workflows/rocky.yml +++ b/.github/workflows/rockyInstall.yml @@ -1,4 +1,4 @@ -name: Installation test +name: Rocky installation test on: [workflow_dispatch] @@ -7,7 +7,7 @@ jobs: name: Test installation on Rocky 9 runs-on: ubuntu-latest defaults: - run: + run: shell: bash steps: @@ -19,4 +19,4 @@ jobs: - uses: actions/checkout@v4 - name: install run: ./bin/wally-tool-chain-install.sh - + diff --git a/.github/workflows/rockytest.yml b/.github/workflows/rockytest.yml new file mode 100644 index 000000000..03fda22ae --- /dev/null +++ b/.github/workflows/rockytest.yml @@ -0,0 +1,15 @@ +name: Rocky Linux 8 Workflow + +on: [workflow_dispatch] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: parent os + run: cat /etc/os-release + - name: docker os + uses: docker://rockylinux:8 + with: + entrypoint: /bin/bash + args: cat /etc/os-release \ No newline at end of file From 06f909f9bf457c30426b453fd0740d1e60645efb Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 15 Jul 2024 23:22:53 -0700 Subject: [PATCH 022/106] New rocky approach --- .github/workflows/rockyInstall.yml | 17 +++++++++-------- .github/workflows/rockytest.yml | 15 --------------- 2 files changed, 9 insertions(+), 23 deletions(-) delete mode 100644 .github/workflows/rockytest.yml diff --git a/.github/workflows/rockyInstall.yml b/.github/workflows/rockyInstall.yml index e01ea855f..cd4c324ee 100644 --- a/.github/workflows/rockyInstall.yml +++ b/.github/workflows/rockyInstall.yml @@ -6,16 +6,17 @@ jobs: install: name: Test installation on Rocky 9 runs-on: ubuntu-latest - defaults: - run: - shell: bash - + container: + image: rockylinux:8 + options: --privileged --mount type=bind, source=/, target=/ steps: - - run: df -h - - name: free up storage - run: sudo rm -rf /usr/local/lib/android - - run: docker run -ia rockylinux:8 + - name: check distro + run: cat /etc/os-release - run: dnf install -y sudo + - name: free up storage + run: | + df -h + sudo rm -rf /usr/local/lib/android - uses: actions/checkout@v4 - name: install run: ./bin/wally-tool-chain-install.sh diff --git a/.github/workflows/rockytest.yml b/.github/workflows/rockytest.yml deleted file mode 100644 index 03fda22ae..000000000 --- a/.github/workflows/rockytest.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Rocky Linux 8 Workflow - -on: [workflow_dispatch] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: parent os - run: cat /etc/os-release - - name: docker os - uses: docker://rockylinux:8 - with: - entrypoint: /bin/bash - args: cat /etc/os-release \ No newline at end of file From f910564fa4fd950ec84cebc9420d72055471795f Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 15 Jul 2024 23:26:41 -0700 Subject: [PATCH 023/106] Update rocky.yml for Rocky 8 testing --- .github/workflows/rockyInstall.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rockyInstall.yml b/.github/workflows/rockyInstall.yml index cd4c324ee..cd35bd855 100644 --- a/.github/workflows/rockyInstall.yml +++ b/.github/workflows/rockyInstall.yml @@ -4,11 +4,11 @@ on: [workflow_dispatch] jobs: install: - name: Test installation on Rocky 9 + name: Test installation on Rocky 8 runs-on: ubuntu-latest container: image: rockylinux:8 - options: --privileged --mount type=bind, source=/, target=/ + options: --privileged --mount type=bind,source=/,target=/ steps: - name: check distro run: cat /etc/os-release From 919fd8c2db2c33c8cc01d2e568c4d6591a57909b Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 15 Jul 2024 23:28:12 -0700 Subject: [PATCH 024/106] Update rocky.yml for Rocky 8 testing --- .github/workflows/rockyInstall.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rockyInstall.yml b/.github/workflows/rockyInstall.yml index cd35bd855..ab3780c4a 100644 --- a/.github/workflows/rockyInstall.yml +++ b/.github/workflows/rockyInstall.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest container: image: rockylinux:8 - options: --privileged --mount type=bind,source=/,target=/ + options: --privileged --mount type=bind,source=/,target=/host steps: - name: check distro run: cat /etc/os-release @@ -16,7 +16,7 @@ jobs: - name: free up storage run: | df -h - sudo rm -rf /usr/local/lib/android + sudo rm -rf /host/usr/local/lib/android - uses: actions/checkout@v4 - name: install run: ./bin/wally-tool-chain-install.sh From c0ffc56d3857fc53b0d7c7efb480e7ae81599fef Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 15 Jul 2024 23:32:43 -0700 Subject: [PATCH 025/106] Save space on rocky --- .github/workflows/rockyInstall.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/rockyInstall.yml b/.github/workflows/rockyInstall.yml index ab3780c4a..627ab6bcc 100644 --- a/.github/workflows/rockyInstall.yml +++ b/.github/workflows/rockyInstall.yml @@ -17,6 +17,10 @@ jobs: run: | df -h sudo rm -rf /host/usr/local/lib/android + sudo rm -rf /host/usr/share/dotnet &> /dev/null + sudo rm -rf /host/opt/ghc &> /dev/null + sudo rm -rf /host/opt/hostedtoolcache/CodeQL &> /dev/null + df -h - uses: actions/checkout@v4 - name: install run: ./bin/wally-tool-chain-install.sh From 5811099446104fab2ce0668270fe0a05e98d3857 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:14:57 -0700 Subject: [PATCH 026/106] Test all supported distros --- .github/workflows/install.yml | 37 +++++++++++++++++++++++++----- .github/workflows/rockyInstall.yml | 27 ---------------------- 2 files changed, 31 insertions(+), 33 deletions(-) delete mode 100644 .github/workflows/rockyInstall.yml diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b3cc2b6f4..ac25d884b 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -1,12 +1,14 @@ -name: Installation test +name: Installation on: [workflow_dispatch] jobs: - install: - name: Test installation on Ubuntu 22.04LTS - runs-on: ubuntu-22.04 - + ubuntu_install: + name: Test installation on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] steps: - name: Free up storage run: | @@ -34,4 +36,27 @@ jobs: - uses: actions/checkout@v4 - name: install run: sudo ./bin/wally-tool-chain-install.sh - + rhel_family_install: + name: Test installation on ${{ matrix.os }} + runs-on: ubuntu-latest + container: + image: ${{ matrix.os }} + options: --privileged --mount type=bind,source=/,target=/host + strategy: + matrix: + os: [rockylinux:8, rockylinux:9, almalinux:8, almalinux:9] + steps: + - name: check distro + run: cat /etc/os-release + - run: dnf install -y sudo + - name: free up storage + run: | + df -h + sudo rm -rf /host/usr/local/lib/android + sudo rm -rf /host/usr/share/dotnet &> /dev/null + sudo rm -rf /host/opt/ghc &> /dev/null + sudo rm -rf /host/opt/hostedtoolcache/CodeQL &> /dev/null + df -h + - uses: actions/checkout@v4 + - name: install + run: ./bin/wally-tool-chain-install.sh diff --git a/.github/workflows/rockyInstall.yml b/.github/workflows/rockyInstall.yml deleted file mode 100644 index 627ab6bcc..000000000 --- a/.github/workflows/rockyInstall.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Rocky installation test - -on: [workflow_dispatch] - -jobs: - install: - name: Test installation on Rocky 8 - runs-on: ubuntu-latest - container: - image: rockylinux:8 - options: --privileged --mount type=bind,source=/,target=/host - steps: - - name: check distro - run: cat /etc/os-release - - run: dnf install -y sudo - - name: free up storage - run: | - df -h - sudo rm -rf /host/usr/local/lib/android - sudo rm -rf /host/usr/share/dotnet &> /dev/null - sudo rm -rf /host/opt/ghc &> /dev/null - sudo rm -rf /host/opt/hostedtoolcache/CodeQL &> /dev/null - df -h - - uses: actions/checkout@v4 - - name: install - run: ./bin/wally-tool-chain-install.sh - From 978c6b3d1477d11fbfa58f366267aededb488eee Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:17:16 -0700 Subject: [PATCH 027/106] Add quotes --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index ac25d884b..074b5a408 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] + os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - name: Free up storage run: | @@ -44,7 +44,7 @@ jobs: options: --privileged --mount type=bind,source=/,target=/host strategy: matrix: - os: [rockylinux:8, rockylinux:9, almalinux:8, almalinux:9] + os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] steps: - name: check distro run: cat /etc/os-release From f0b42abd88a0b22f422f4a90212e60a582b740b1 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:22:45 -0700 Subject: [PATCH 028/106] fewer targets --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 074b5a408..1fd07a8ca 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -8,7 +8,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] + os: ["ubuntu-20.04", "ubuntu-22.04"] steps: - name: Free up storage run: | @@ -44,7 +44,7 @@ jobs: options: --privileged --mount type=bind,source=/,target=/host strategy: matrix: - os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] + os: ["rockylinux:8", "almalinux:8"] steps: - name: check distro run: cat /etc/os-release From d7af9bbccbf6d42114d9d4093c1cb562828b06ae Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:33:56 -0700 Subject: [PATCH 029/106] Continue install tests if one fails --- .github/workflows/install.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 1fd07a8ca..51940249a 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -7,6 +7,7 @@ jobs: name: Test installation on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: os: ["ubuntu-20.04", "ubuntu-22.04"] steps: @@ -43,6 +44,7 @@ jobs: image: ${{ matrix.os }} options: --privileged --mount type=bind,source=/,target=/host strategy: + fail-fast: false matrix: os: ["rockylinux:8", "almalinux:8"] steps: From 59b8eacf70691efd8e972beeb63784ead48fb524 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:41:54 -0700 Subject: [PATCH 030/106] Add test.yml --- .github/workflows/test.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..54b201622 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,38 @@ +name: test + +on: [workflow_dispatch] + +jobs: + ubuntu_install: + name: Test installation on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ["ubuntu-20.04", "ubuntu-22.04"] + steps: + - uses: actions/checkout@v4 + - name: check + run: | + pwd + ls + cd cvw + ls + rhel_family_install: + name: Test installation on ${{ matrix.os }} + runs-on: ubuntu-latest + container: + image: ${{ matrix.os }} + options: --privileged --mount type=bind,source=/,target=/host + strategy: + fail-fast: false + matrix: + os: ["rockylinux:8", "almalinux:8"] + steps: + - uses: actions/checkout@v4 + - name: check + run: | + pwd + ls + cd cvw + ls From 6b582cc24885928a417cd94c84343d502e2b3a95 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:43:21 -0700 Subject: [PATCH 031/106] Update test --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 54b201622..50b85c2e7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,8 +16,8 @@ jobs: run: | pwd ls - cd cvw - ls + source setup.sh + echo $PATH rhel_family_install: name: Test installation on ${{ matrix.os }} runs-on: ubuntu-latest @@ -34,5 +34,5 @@ jobs: run: | pwd ls - cd cvw - ls + source setup.sh + echo $PATH From 17b3013f8d366f6385b9c57eb3b4a176d7e5a190 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:44:32 -0700 Subject: [PATCH 032/106] update test --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 50b85c2e7..0c95356f3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,7 @@ jobs: run: | pwd ls + mkdir /opt/riscv source setup.sh echo $PATH rhel_family_install: @@ -34,5 +35,6 @@ jobs: run: | pwd ls + mkdir /opt/riscv source setup.sh echo $PATH From 479a59e44be676ac3a3b91e19c2835f35881a5a8 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 00:47:38 -0700 Subject: [PATCH 033/106] Run make and regression-wally in installation test --- .github/workflows/install.yml | 12 +++++++++++ .github/workflows/test.yml | 40 ----------------------------------- 2 files changed, 12 insertions(+), 40 deletions(-) delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 51940249a..4c2e36afd 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -37,6 +37,12 @@ jobs: - uses: actions/checkout@v4 - name: install run: sudo ./bin/wally-tool-chain-install.sh + - name: setup + run: source setup.sh + - name: make tests + run: make + - name: regresssion + run: regression-wally rhel_family_install: name: Test installation on ${{ matrix.os }} runs-on: ubuntu-latest @@ -62,3 +68,9 @@ jobs: - uses: actions/checkout@v4 - name: install run: ./bin/wally-tool-chain-install.sh + - name: setup + run: source setup.sh + - name: make tests + run: make + - name: regresssion + run: regression-wally diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 0c95356f3..000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: test - -on: [workflow_dispatch] - -jobs: - ubuntu_install: - name: Test installation on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: ["ubuntu-20.04", "ubuntu-22.04"] - steps: - - uses: actions/checkout@v4 - - name: check - run: | - pwd - ls - mkdir /opt/riscv - source setup.sh - echo $PATH - rhel_family_install: - name: Test installation on ${{ matrix.os }} - runs-on: ubuntu-latest - container: - image: ${{ matrix.os }} - options: --privileged --mount type=bind,source=/,target=/host - strategy: - fail-fast: false - matrix: - os: ["rockylinux:8", "almalinux:8"] - steps: - - uses: actions/checkout@v4 - - name: check - run: | - pwd - ls - mkdir /opt/riscv - source setup.sh - echo $PATH From fab1b6eab99a64424c7b084e0bb840435c372cea Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 07:08:52 -0700 Subject: [PATCH 034/106] Checkout submodules in install test action --- .github/workflows/install.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 4c2e36afd..31018d685 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -35,6 +35,8 @@ jobs: sudo apt-get clean &> /dev/null df -h - uses: actions/checkout@v4 + with: + submodules: recursive - name: install run: sudo ./bin/wally-tool-chain-install.sh - name: setup @@ -54,8 +56,6 @@ jobs: matrix: os: ["rockylinux:8", "almalinux:8"] steps: - - name: check distro - run: cat /etc/os-release - run: dnf install -y sudo - name: free up storage run: | @@ -66,6 +66,8 @@ jobs: sudo rm -rf /host/opt/hostedtoolcache/CodeQL &> /dev/null df -h - uses: actions/checkout@v4 + with: + submodules: recursive - name: install run: ./bin/wally-tool-chain-install.sh - name: setup From 4b534acde81edab1c330e403e409bf2d51ec0913 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 07:13:40 -0700 Subject: [PATCH 035/106] add test --- .github/workflows/test.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..04285aaf3 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,38 @@ +name: List Storage Space +on: [workflow_dispatch] + + +jobs: + storage-space: + runs-on: ubuntu-22 + + steps: + - name: Root + run: | + df -h + cd / + du -h --max-depth=1 / | sort -h + - name: /usr + run: | + cd /usr + du -h --max-depth=1 / | sort -h + - name: /usr/bin + run: | + cd /usr/bin + du -h --max-depth=1 / | sort -h + - name: /usr/local + run: | + cd /usr/local + du -h --max-depth=1 / | sort -h + - name: /usr/share + run: | + cd /usr/share + du -h --max-depth=1 / | sort -h + - name: /opt + run: | + cd /opt + du -h --max-depth=1 / | sort -h + - name: /opt/hostedtoolcache + run: | + cd /opt/hostedtoolcache + du -h --max-depth=1 / | sort -h From f8b078d0d8f1e2b06dc6c236b7d52032b9c23df5 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 07:20:29 -0700 Subject: [PATCH 036/106] install git in redhat docker test --- .github/workflows/install.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 31018d685..4f29a6be1 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -56,7 +56,7 @@ jobs: matrix: os: ["rockylinux:8", "almalinux:8"] steps: - - run: dnf install -y sudo + - run: dnf install -y sudo git - name: free up storage run: | df -h diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 04285aaf3..1a9c1d8d6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,7 +4,7 @@ on: [workflow_dispatch] jobs: storage-space: - runs-on: ubuntu-22 + runs-on: ubuntu-22.04 steps: - name: Root From c8f473b6b71199b40c7f1cbe9d1484d07ae05945 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 07:22:01 -0700 Subject: [PATCH 037/106] update test --- .github/workflows/test.yml | 42 +++++++++----------------------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1a9c1d8d6..a4b65cfcb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,36 +3,14 @@ on: [workflow_dispatch] jobs: - storage-space: - runs-on: ubuntu-22.04 - + check-packages: + name: Test installation on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - - name: Root - run: | - df -h - cd / - du -h --max-depth=1 / | sort -h - - name: /usr - run: | - cd /usr - du -h --max-depth=1 / | sort -h - - name: /usr/bin - run: | - cd /usr/bin - du -h --max-depth=1 / | sort -h - - name: /usr/local - run: | - cd /usr/local - du -h --max-depth=1 / | sort -h - - name: /usr/share - run: | - cd /usr/share - du -h --max-depth=1 / | sort -h - - name: /opt - run: | - cd /opt - du -h --max-depth=1 / | sort -h - - name: /opt/hostedtoolcache - run: | - cd /opt/hostedtoolcache - du -h --max-depth=1 / | sort -h + - name: check packages + run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr + + From a384f22554c607e59e020139e313baa73777c999 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 22:43:42 -0700 Subject: [PATCH 038/106] Update test.yml --- .github/workflows/test.yml | 99 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a4b65cfcb..b41c784bf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,14 +3,107 @@ on: [workflow_dispatch] jobs: - check-packages: - name: Test installation on ${{ matrix.os }} + clean-ubuntu: + name: clean ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: + - run: df -h + - name: remove packages + run: | + removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) + for pack in "${removePacks[@]}"; do + echo "REMOVING ${pack}" + sudo apt-get purge -y $pack || true + done + sudo apt-get autoremove -y + sudo apt-get clean + - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr + - name: remove dirs + run: | + sudo rm -rf /usr/local/lib/android + sudo rm -rf /usr/share/dotnet + sudo rm -rf /usr/share/swift + sudo rm -rf /usr/share/miniconda + sudo rm -rf /usr/share/az* + sudo rm -rf /usr/share/gradle-* + sudo rm -rf /usr/share/sbt + sudo rm -rf /opt/ghc + sudo rm -rf /usr/local/.ghcup + sudo rm -rf /usr/local/share/powershell + sudo rm -rf /usr/local/lib/node_modules + sudo rm -rf /usr/local/julia* + sudo rm -rf /usr/local/share/chromium + sudo rm -rf /usr/local/share/vcpkg + sudo rm -rf /usr/local/games + sudo rm -rf /usr/local/sqlpackage + sudo rm -rf /usr/lib/google-cloud-sdk + sudo rm -rf /usr/lib/jvm + sudo rm -rf /usr/lib/mono + sudo rm -rf /usr/lib/R + sudo rm -rf /usr/lib/postgresql + sudo rm -rf /usr/lib/heroku + sudo rm -rf /usr/lib/llvm* + sudo rm -rf /usr/lib/firefox + sudo rm -rf /opt/hostedtoolcache + sudo docker image prune --all --force + - run: df -h - + clean-rhel: + name: clean ${{ matrix.os }} + runs-on: ubuntu-latest + container: + image: ${{ matrix.os }} + options: --privileged --mount type=bind,source=/,target=/host + strategy: + fail-fast: false + matrix: + os: ["rockylinux:8", "almalinux:8", "rockylinux:9", "almalinux:9"] + steps: + - run: df -h + - name: remove packages + run: | + removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) + for pack in "${removePacks[@]}"; do + echo "REMOVING ${pack}" + sudo apt-get purge -y $pack || true + done + sudo apt-get autoremove -y + sudo apt-get clean + - run: df -h + - name: check packages + run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr + - name: remove dirs + run: | + sudo rm -rf host/usr/local/lib/android + sudo rm -rf host/usr/share/dotnet + sudo rm -rf host/usr/share/swift + sudo rm -rf host/usr/share/miniconda + sudo rm -rf host/usr/share/az* + sudo rm -rf host/usr/share/gradle-* + sudo rm -rf host/usr/share/sbt + sudo rm -rf host/opt/ghc + sudo rm -rf host/usr/local/.ghcup + sudo rm -rf host/usr/local/share/powershell + sudo rm -rf host/usr/local/lib/node_modules + sudo rm -rf host/usr/local/julia* + sudo rm -rf host/usr/local/share/chromium + sudo rm -rf host/usr/local/share/vcpkg + sudo rm -rf host/usr/local/games + sudo rm -rf host/usr/local/sqlpackage + sudo rm -rf host/usr/lib/google-cloud-sdk + sudo rm -rf host/usr/lib/jvm + sudo rm -rf host/usr/lib/mono + sudo rm -rf host/usr/lib/R + sudo rm -rf host/usr/lib/postgresql + sudo rm -rf host/usr/lib/heroku + sudo rm -rf host/usr/lib/llvm* + sudo rm -rf host/usr/lib/firefox + sudo rm -rf host/opt/hostedtoolcache + sudo docker image prune --all --force + - run: df -h From 72e1125c632cbdc222d11a96e943cb2eb853504c Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 16 Jul 2024 23:51:29 -0700 Subject: [PATCH 039/106] Update test.yml --- .github/workflows/test.yml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b41c784bf..315a9a89b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -59,22 +59,17 @@ jobs: runs-on: ubuntu-latest container: image: ${{ matrix.os }} - options: --privileged --mount type=bind,source=/,target=/host + options: --privileged --mount type=bind,source=/,target=/host --pid=host strategy: fail-fast: false matrix: os: ["rockylinux:8", "almalinux:8", "rockylinux:9", "almalinux:9"] steps: + - uses: actions/checkout@v4 - run: df -h - name: remove packages run: | - removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) - for pack in "${removePacks[@]}"; do - echo "REMOVING ${pack}" - sudo apt-get purge -y $pack || true - done - sudo apt-get autoremove -y - sudo apt-get clean + nsenter -t 1 -m -u -n -i bash .github/cli-space-cleanup.sh - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr From a8105f058d3dc90ab5c0e040acaa7bfab1212ad8 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 00:17:07 -0700 Subject: [PATCH 040/106] Create cli-space-cleanup.sh --- .github/cli-space-cleanup.sh | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/cli-space-cleanup.sh diff --git a/.github/cli-space-cleanup.sh b/.github/cli-space-cleanup.sh new file mode 100644 index 000000000..035fede94 --- /dev/null +++ b/.github/cli-space-cleanup.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) +for pack in "${removePacks[@]}"; do + echo "REMOVING ${pack}" + sudo apt-get purge -y $pack || true +done +sudo apt-get autoremove -y +sudo apt-get clean From 82f8a78f1d329913193f30ce0775a3d166f627e5 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 00:20:46 -0700 Subject: [PATCH 041/106] Update test.yml --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 315a9a89b..13dda37a0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -65,11 +65,11 @@ jobs: matrix: os: ["rockylinux:8", "almalinux:8", "rockylinux:9", "almalinux:9"] steps: + - run: dnf install -y sudo git - uses: actions/checkout@v4 - run: df -h - name: remove packages - run: | - nsenter -t 1 -m -u -n -i bash .github/cli-space-cleanup.sh + run: nsenter -t 1 -m -u -n -i bash /__w/cvw/cvw/.github/cli-space-cleanup.sh - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr From ca7f95d5d2b4f62f592da96a33008b98d6f852b4 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 00:52:49 -0700 Subject: [PATCH 042/106] make cli-space-cleanup executable --- .github/cli-space-cleanup.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .github/cli-space-cleanup.sh diff --git a/.github/cli-space-cleanup.sh b/.github/cli-space-cleanup.sh old mode 100644 new mode 100755 From 22b3a9bfd1c3ba677bc6affd099adedd5cda9cbb Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 00:35:13 -0700 Subject: [PATCH 043/106] Update test.yml --- .github/workflows/test.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 13dda37a0..567578e2e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -57,9 +57,12 @@ jobs: clean-rhel: name: clean ${{ matrix.os }} runs-on: ubuntu-latest + defaults: + run: + shell: bash container: image: ${{ matrix.os }} - options: --privileged --mount type=bind,source=/,target=/host --pid=host + options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash strategy: fail-fast: false matrix: @@ -69,7 +72,10 @@ jobs: - uses: actions/checkout@v4 - run: df -h - name: remove packages - run: nsenter -t 1 -m -u -n -i bash /__w/cvw/cvw/.github/cli-space-cleanup.sh + run: | + cd .github + ls + nsenter -t 1 -m -u -n -i bash cli-space-cleanup.sh #-c "sudo apt-get purge -y google-cloud-cli || true; sudo apt-get autoremove -y; sudo apt-get clean" - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr From cd0c090658387552d376d7d10ca040f440cd77f5 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 00:59:51 -0700 Subject: [PATCH 044/106] Update cli-space-cleanup.sh --- .github/cli-space-cleanup.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/cli-space-cleanup.sh b/.github/cli-space-cleanup.sh index 035fede94..8fd1cfdc8 100755 --- a/.github/cli-space-cleanup.sh +++ b/.github/cli-space-cleanup.sh @@ -1,5 +1,3 @@ -#!/bin/bash - removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) for pack in "${removePacks[@]}"; do echo "REMOVING ${pack}" From db2cfa88caaedc9d4392408d55328479a108b817 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 01:23:16 -0700 Subject: [PATCH 045/106] Update test.yml --- .github/workflows/test.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 567578e2e..ff414f151 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,7 +75,10 @@ jobs: run: | cd .github ls - nsenter -t 1 -m -u -n -i bash cli-space-cleanup.sh #-c "sudo apt-get purge -y google-cloud-cli || true; sudo apt-get autoremove -y; sudo apt-get clean" + echo "Standard bash" + bash cli-space-cleanup.sh + echo "nsenter bash" + nsenter -t 1 -m -u -n -i /bin/bash cli-space-cleanup.sh #-c "sudo apt-get purge -y google-cloud-cli || true; sudo apt-get autoremove -y; sudo apt-get clean" - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr From f5dac34fb740f200ef626269d4a07e96536bc5cf Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 01:25:06 -0700 Subject: [PATCH 046/106] Update install test with space saver --- .github/workflows/install.yml | 90 +++++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 26 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 4f29a6be1..36453511f 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -9,30 +9,44 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-20.04", "ubuntu-22.04"] + os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - name: Free up storage run: | - sudo rm -rf /usr/local/lib/android &> /dev/null - sudo rm -rf /usr/share/dotnet &> /dev/null - sudo rm -rf /opt/ghc &> /dev/null - sudo rm -rf /opt/hostedtoolcache/CodeQL &> /dev/null - sudo docker image prune --all --force &> /dev/null - sudo apt-get purge -y \ - '^llvm-.*' \ - 'php.*' \ - '^mongodb-.*' \ - '^mysql-.*' \ - azure-cli \ - google-cloud-cli \ - google-chrome-stable \ - firefox \ - powershell \ - microsoft-edge-stable \ - mono-devel \ - &> /dev/null + df -h + removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' '^powershell*' 'microsoft-edge-stable' 'mono-devel' 'hhvm' ) + for pack in "${removePacks[@]}"; do + sudo apt-get purge -y $pack &> /dev/null || true + done sudo apt-get autoremove -y &> /dev/null sudo apt-get clean &> /dev/null + + sudo rm -rf /usr/local/lib/android &> /dev/null + sudo rm -rf /usr/share/dotnet &> /dev/null + sudo rm -rf /usr/share/swift &> /dev/null + sudo rm -rf /usr/share/miniconda &> /dev/null + sudo rm -rf /usr/share/az* &> /dev/null + sudo rm -rf /usr/share/gradle-* &> /dev/null + sudo rm -rf /usr/share/sbt &> /dev/null + sudo rm -rf /opt/ghc &> /dev/null + sudo rm -rf /usr/local/.ghcup &> /dev/null + sudo rm -rf /usr/local/share/powershell &> /dev/null + sudo rm -rf /usr/local/lib/node_modules &> /dev/null + sudo rm -rf /usr/local/julia* &> /dev/null + sudo rm -rf /usr/local/share/chromium &> /dev/null + sudo rm -rf /usr/local/share/vcpkg &> /dev/null + sudo rm -rf /usr/local/games &> /dev/null + sudo rm -rf /usr/local/sqlpackage &> /dev/null + sudo rm -rf /usr/lib/google-cloud-sdk &> /dev/null + sudo rm -rf /usr/lib/jvm &> /dev/null + sudo rm -rf /usr/lib/mono &> /dev/null + sudo rm -rf /usr/lib/R &> /dev/null + sudo rm -rf /usr/lib/postgresql &> /dev/null + sudo rm -rf /usr/lib/heroku &> /dev/null + sudo rm -rf /usr/lib/llvm* &> /dev/null + sudo rm -rf /usr/lib/firefox &> /dev/null + sudo rm -rf /opt/hostedtoolcache &> /dev/null + sudo docker image prune --all --force &> /dev/null df -h - uses: actions/checkout@v4 with: @@ -45,6 +59,7 @@ jobs: run: make - name: regresssion run: regression-wally + rhel_family_install: name: Test installation on ${{ matrix.os }} runs-on: ubuntu-latest @@ -54,25 +69,48 @@ jobs: strategy: fail-fast: false matrix: - os: ["rockylinux:8", "almalinux:8"] + os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] steps: - run: dnf install -y sudo git - name: free up storage run: | df -h - sudo rm -rf /host/usr/local/lib/android + sudo rm -rf /host/usr/local/lib/android &> /dev/null sudo rm -rf /host/usr/share/dotnet &> /dev/null + sudo rm -rf /host/usr/share/swift &> /dev/null + sudo rm -rf /host/usr/share/miniconda &> /dev/null + sudo rm -rf /host/usr/share/az* &> /dev/null + sudo rm -rf /host/usr/share/gradle-* &> /dev/null + sudo rm -rf /host/usr/share/sbt &> /dev/null sudo rm -rf /host/opt/ghc &> /dev/null - sudo rm -rf /host/opt/hostedtoolcache/CodeQL &> /dev/null + sudo rm -rf /host/usr/local/.ghcup &> /dev/null + sudo rm -rf /host/usr/local/share/powershell &> /dev/null + sudo rm -rf /host/usr/local/lib/node_modules &> /dev/null + sudo rm -rf /host/usr/local/julia* &> /dev/null + sudo rm -rf /host/usr/local/share/chromium &> /dev/null + sudo rm -rf /host/usr/local/share/vcpkg &> /dev/null + sudo rm -rf /host/usr/local/games &> /dev/null + sudo rm -rf /host/usr/local/sqlpackage &> /dev/null + sudo rm -rf /host/usr/lib/google-cloud-sdk &> /dev/null + sudo rm -rf /host/usr/lib/jvm &> /dev/null + sudo rm -rf /host/usr/lib/mono &> /dev/null + sudo rm -rf /host/usr/lib/R &> /dev/null + sudo rm -rf /host/usr/lib/postgresql &> /dev/null + sudo rm -rf /host/usr/lib/heroku &> /dev/null + sudo rm -rf /host/usr/lib/llvm* &> /dev/null + sudo rm -rf /host/usr/lib/firefox &> /dev/null + sudo rm -rf /host/opt/hostedtoolcache &> /dev/null df -h - uses: actions/checkout@v4 with: submodules: recursive - name: install run: ./bin/wally-tool-chain-install.sh - - name: setup - run: source setup.sh - name: make tests - run: make + run: | + source setup.sh + make - name: regresssion - run: regression-wally + run: | + source setup.sh + regression-wally From bb7888f59a28a4dc62cddd3be08a25388484cf0c Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 01:25:55 -0700 Subject: [PATCH 047/106] Update test.yml --- .github/workflows/test.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ff414f151..8aa430252 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,12 +73,7 @@ jobs: - run: df -h - name: remove packages run: | - cd .github - ls - echo "Standard bash" - bash cli-space-cleanup.sh - echo "nsenter bash" - nsenter -t 1 -m -u -n -i /bin/bash cli-space-cleanup.sh #-c "sudo apt-get purge -y google-cloud-cli || true; sudo apt-get autoremove -y; sudo apt-get clean" + nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" #-c "sudo apt-get purge -y google-cloud-cli || true; sudo apt-get autoremove -y; sudo apt-get clean" - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr From 482256cb842440fa733ff64e2f15579f08b20baa Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 01:42:02 -0700 Subject: [PATCH 048/106] New install action --- .github/cli-space-cleanup.sh | 69 ++++++++++++++++++++++++++++++--- .github/workflows/install.yml | 72 +++++------------------------------ .github/workflows/test.yml | 2 +- 3 files changed, 74 insertions(+), 69 deletions(-) diff --git a/.github/cli-space-cleanup.sh b/.github/cli-space-cleanup.sh index 8fd1cfdc8..5a85eb1d0 100755 --- a/.github/cli-space-cleanup.sh +++ b/.github/cli-space-cleanup.sh @@ -1,7 +1,66 @@ -removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) +#!/bin/bash +########################################### +## GitHub runner space cleanup +## +## Written: Jordan Carlin, jcarlin@hmc.edu +## Created: 30 June 2024 +## Modified: +## +## Purpose: Remove unnecessary packages/directories from GitHub Actions runner + +## A component of the CORE-V-WALLY configurable RISC-V project. +## https://github.com/openhwgroup/cvw +## +## Copyright (C) 2021-23 Harvey Mudd College & Oklahoma State University +## +## SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 +## +## Licensed under the Solderpad Hardware License v 2.1 (the “License”); you may not use this file +## except in compliance with the License, or, at your option, the Apache License version 2.0. You +## may obtain a copy of the License at +## +## https:##solderpad.org/licenses/SHL-2.1/ +## +## Unless required by applicable law or agreed to in writing, any work distributed under the +## License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +## either express or implied. See the License for the specific language governing permissions +## and limitations under the License. +################################################################################################ + +# Remove unnecessary packages +removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' '^powershell*' 'microsoft-edge-stable' 'mono-devel' 'hhvm' ) for pack in "${removePacks[@]}"; do - echo "REMOVING ${pack}" - sudo apt-get purge -y $pack || true + sudo apt-get purge -y $pack &> /dev/null || true done -sudo apt-get autoremove -y -sudo apt-get clean +sudo apt-get autoremove -y &> /dev/null || true +sudo apt-get clean &> /dev/null || true + +# Remove unnecessary directories +sudo rm -rf /usr/local/lib/android &> /dev/null +sudo rm -rf /usr/share/dotnet &> /dev/null +sudo rm -rf /usr/share/swift &> /dev/null +sudo rm -rf /usr/share/miniconda &> /dev/null +sudo rm -rf /usr/share/az* &> /dev/null +sudo rm -rf /usr/share/gradle-* &> /dev/null +sudo rm -rf /usr/share/sbt &> /dev/null +sudo rm -rf /opt/ghc &> /dev/null +sudo rm -rf /usr/local/.ghcup &> /dev/null +sudo rm -rf /usr/local/share/powershell &> /dev/null +sudo rm -rf /usr/local/lib/node_modules &> /dev/null +sudo rm -rf /usr/local/julia* &> /dev/null +sudo rm -rf /usr/local/share/chromium &> /dev/null +sudo rm -rf /usr/local/share/vcpkg &> /dev/null +sudo rm -rf /usr/local/games &> /dev/null +sudo rm -rf /usr/local/sqlpackage &> /dev/null +sudo rm -rf /usr/lib/google-cloud-sdk &> /dev/null +sudo rm -rf /usr/lib/jvm &> /dev/null +sudo rm -rf /usr/lib/mono &> /dev/null +sudo rm -rf /usr/lib/R &> /dev/null +sudo rm -rf /usr/lib/postgresql &> /dev/null +sudo rm -rf /usr/lib/heroku &> /dev/null +sudo rm -rf /usr/lib/llvm* &> /dev/null +sudo rm -rf /usr/lib/firefox &> /dev/null +sudo rm -rf /opt/hostedtoolcache &> /dev/null + +# Clean up docker images +sudo docker image prune --all --force &> /dev/null diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 36453511f..221c39f9f 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -14,51 +14,21 @@ jobs: - name: Free up storage run: | df -h - removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' '^powershell*' 'microsoft-edge-stable' 'mono-devel' 'hhvm' ) - for pack in "${removePacks[@]}"; do - sudo apt-get purge -y $pack &> /dev/null || true - done - sudo apt-get autoremove -y &> /dev/null - sudo apt-get clean &> /dev/null - - sudo rm -rf /usr/local/lib/android &> /dev/null - sudo rm -rf /usr/share/dotnet &> /dev/null - sudo rm -rf /usr/share/swift &> /dev/null - sudo rm -rf /usr/share/miniconda &> /dev/null - sudo rm -rf /usr/share/az* &> /dev/null - sudo rm -rf /usr/share/gradle-* &> /dev/null - sudo rm -rf /usr/share/sbt &> /dev/null - sudo rm -rf /opt/ghc &> /dev/null - sudo rm -rf /usr/local/.ghcup &> /dev/null - sudo rm -rf /usr/local/share/powershell &> /dev/null - sudo rm -rf /usr/local/lib/node_modules &> /dev/null - sudo rm -rf /usr/local/julia* &> /dev/null - sudo rm -rf /usr/local/share/chromium &> /dev/null - sudo rm -rf /usr/local/share/vcpkg &> /dev/null - sudo rm -rf /usr/local/games &> /dev/null - sudo rm -rf /usr/local/sqlpackage &> /dev/null - sudo rm -rf /usr/lib/google-cloud-sdk &> /dev/null - sudo rm -rf /usr/lib/jvm &> /dev/null - sudo rm -rf /usr/lib/mono &> /dev/null - sudo rm -rf /usr/lib/R &> /dev/null - sudo rm -rf /usr/lib/postgresql &> /dev/null - sudo rm -rf /usr/lib/heroku &> /dev/null - sudo rm -rf /usr/lib/llvm* &> /dev/null - sudo rm -rf /usr/lib/firefox &> /dev/null - sudo rm -rf /opt/hostedtoolcache &> /dev/null - sudo docker image prune --all --force &> /dev/null + ./github/cli-space-cleanup.sh df -h - uses: actions/checkout@v4 with: submodules: recursive - name: install run: sudo ./bin/wally-tool-chain-install.sh - - name: setup - run: source setup.sh - name: make tests - run: make + run: | + source setup.sh + make - name: regresssion - run: regression-wally + run: | + source setup.sh + regression-wally rhel_family_install: name: Test installation on ${{ matrix.os }} @@ -72,34 +42,10 @@ jobs: os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] steps: - run: dnf install -y sudo git - - name: free up storage + - name: Free up storage run: | df -h - sudo rm -rf /host/usr/local/lib/android &> /dev/null - sudo rm -rf /host/usr/share/dotnet &> /dev/null - sudo rm -rf /host/usr/share/swift &> /dev/null - sudo rm -rf /host/usr/share/miniconda &> /dev/null - sudo rm -rf /host/usr/share/az* &> /dev/null - sudo rm -rf /host/usr/share/gradle-* &> /dev/null - sudo rm -rf /host/usr/share/sbt &> /dev/null - sudo rm -rf /host/opt/ghc &> /dev/null - sudo rm -rf /host/usr/local/.ghcup &> /dev/null - sudo rm -rf /host/usr/local/share/powershell &> /dev/null - sudo rm -rf /host/usr/local/lib/node_modules &> /dev/null - sudo rm -rf /host/usr/local/julia* &> /dev/null - sudo rm -rf /host/usr/local/share/chromium &> /dev/null - sudo rm -rf /host/usr/local/share/vcpkg &> /dev/null - sudo rm -rf /host/usr/local/games &> /dev/null - sudo rm -rf /host/usr/local/sqlpackage &> /dev/null - sudo rm -rf /host/usr/lib/google-cloud-sdk &> /dev/null - sudo rm -rf /host/usr/lib/jvm &> /dev/null - sudo rm -rf /host/usr/lib/mono &> /dev/null - sudo rm -rf /host/usr/lib/R &> /dev/null - sudo rm -rf /host/usr/lib/postgresql &> /dev/null - sudo rm -rf /host/usr/lib/heroku &> /dev/null - sudo rm -rf /host/usr/lib/llvm* &> /dev/null - sudo rm -rf /host/usr/lib/firefox &> /dev/null - sudo rm -rf /host/opt/hostedtoolcache &> /dev/null + nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - uses: actions/checkout@v4 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8aa430252..a39d3b1e1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,7 +73,7 @@ jobs: - run: df -h - name: remove packages run: | - nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" #-c "sudo apt-get purge -y google-cloud-cli || true; sudo apt-get autoremove -y; sudo apt-get clean" + nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" - run: df -h - name: check packages run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr From 9df1a79f10a7892ca6581fe66a1eccb1e929005c Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 01:46:51 -0700 Subject: [PATCH 049/106] Fix installation workflow curl-minimal dependency --- .github/workflows/install.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 221c39f9f..e67b3f28f 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -41,7 +41,10 @@ jobs: matrix: os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] steps: - - run: dnf install -y sudo git + - name: Install dependencies + run: | + dnf install -y sudo git + dnf remove -y curl-minimal || true - name: Free up storage run: | df -h From de3bac0f59d7c81d80d373d2525780a1cea5f735 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 01:50:19 -0700 Subject: [PATCH 050/106] Update cli-space-saver --- .github/cli-space-cleanup.sh | 58 +++++++++++++++++------------------ .github/workflows/install.yml | 20 ++++++------ 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/.github/cli-space-cleanup.sh b/.github/cli-space-cleanup.sh index 5a85eb1d0..27fb300d8 100755 --- a/.github/cli-space-cleanup.sh +++ b/.github/cli-space-cleanup.sh @@ -30,37 +30,37 @@ # Remove unnecessary packages removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' '^powershell*' 'microsoft-edge-stable' 'mono-devel' 'hhvm' ) for pack in "${removePacks[@]}"; do - sudo apt-get purge -y $pack &> /dev/null || true + sudo apt-get purge -y $pack || true done -sudo apt-get autoremove -y &> /dev/null || true -sudo apt-get clean &> /dev/null || true +sudo apt-get autoremove -y || true +sudo apt-get clean || true # Remove unnecessary directories -sudo rm -rf /usr/local/lib/android &> /dev/null -sudo rm -rf /usr/share/dotnet &> /dev/null -sudo rm -rf /usr/share/swift &> /dev/null -sudo rm -rf /usr/share/miniconda &> /dev/null -sudo rm -rf /usr/share/az* &> /dev/null -sudo rm -rf /usr/share/gradle-* &> /dev/null -sudo rm -rf /usr/share/sbt &> /dev/null -sudo rm -rf /opt/ghc &> /dev/null -sudo rm -rf /usr/local/.ghcup &> /dev/null -sudo rm -rf /usr/local/share/powershell &> /dev/null -sudo rm -rf /usr/local/lib/node_modules &> /dev/null -sudo rm -rf /usr/local/julia* &> /dev/null -sudo rm -rf /usr/local/share/chromium &> /dev/null -sudo rm -rf /usr/local/share/vcpkg &> /dev/null -sudo rm -rf /usr/local/games &> /dev/null -sudo rm -rf /usr/local/sqlpackage &> /dev/null -sudo rm -rf /usr/lib/google-cloud-sdk &> /dev/null -sudo rm -rf /usr/lib/jvm &> /dev/null -sudo rm -rf /usr/lib/mono &> /dev/null -sudo rm -rf /usr/lib/R &> /dev/null -sudo rm -rf /usr/lib/postgresql &> /dev/null -sudo rm -rf /usr/lib/heroku &> /dev/null -sudo rm -rf /usr/lib/llvm* &> /dev/null -sudo rm -rf /usr/lib/firefox &> /dev/null -sudo rm -rf /opt/hostedtoolcache &> /dev/null +sudo rm -rf /usr/local/lib/android +sudo rm -rf /usr/share/dotnet +sudo rm -rf /usr/share/swift +sudo rm -rf /usr/share/miniconda +sudo rm -rf /usr/share/az* +sudo rm -rf /usr/share/gradle-* +sudo rm -rf /usr/share/sbt +sudo rm -rf /opt/ghc +sudo rm -rf /usr/local/.ghcup +sudo rm -rf /usr/local/share/powershell +sudo rm -rf /usr/local/lib/node_modules +sudo rm -rf /usr/local/julia* +sudo rm -rf /usr/local/share/chromium +sudo rm -rf /usr/local/share/vcpkg +sudo rm -rf /usr/local/games +sudo rm -rf /usr/local/sqlpackage +sudo rm -rf /usr/lib/google-cloud-sdk +sudo rm -rf /usr/lib/jvm +sudo rm -rf /usr/lib/mono +sudo rm -rf /usr/lib/R +sudo rm -rf /usr/lib/postgresql +sudo rm -rf /usr/lib/heroku +sudo rm -rf /usr/lib/llvm* +sudo rm -rf /usr/lib/firefox +sudo rm -rf /opt/hostedtoolcache # Clean up docker images -sudo docker image prune --all --force &> /dev/null +sudo docker image prune --all --force diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index e67b3f28f..0dd453b13 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -11,14 +11,14 @@ jobs: matrix: os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - - name: Free up storage - run: | - df -h - ./github/cli-space-cleanup.sh - df -h - uses: actions/checkout@v4 with: submodules: recursive + - name: Free up storage + run: | + df -h + ./.github/cli-space-cleanup.sh + df -h - name: install run: sudo ./bin/wally-tool-chain-install.sh - name: make tests @@ -35,7 +35,7 @@ jobs: runs-on: ubuntu-latest container: image: ${{ matrix.os }} - options: --privileged --mount type=bind,source=/,target=/host + options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash strategy: fail-fast: false matrix: @@ -44,15 +44,15 @@ jobs: - name: Install dependencies run: | dnf install -y sudo git - dnf remove -y curl-minimal || true + dnf install curl -y --allowerasing || true + - uses: actions/checkout@v4 + with: + submodules: recursive - name: Free up storage run: | df -h nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - - uses: actions/checkout@v4 - with: - submodules: recursive - name: install run: ./bin/wally-tool-chain-install.sh - name: make tests From 51cb85045271a05d1aa44188cb3231e5bd89794f Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 07:56:03 -0700 Subject: [PATCH 051/106] Update test.yml --- .github/workflows/test.yml | 131 +++++++++++++------------------------ 1 file changed, 46 insertions(+), 85 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a39d3b1e1..1343c6700 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,108 +1,69 @@ -name: List Storage Space +name: Test + on: [workflow_dispatch] - jobs: - clean-ubuntu: - name: clean ${{ matrix.os }} + ubuntu_install: + name: Test on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - - run: df -h - - name: remove packages + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Free up storage run: | - removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' 'powershell*' 'microsoft-edge-stable' 'mono-devel' ) - for pack in "${removePacks[@]}"; do - echo "REMOVING ${pack}" - sudo apt-get purge -y $pack || true - done - sudo apt-get autoremove -y - sudo apt-get clean - - run: df -h - - name: check packages - run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr - - name: remove dirs + df -h + ./.github/cli-space-cleanup.sh + df -h + - run: mkdir -p /opt/riscv + - run: sudo apt install -y python3 python3-pip python3-venv + - run: python3 -m venv /opt/riscv + - run: | + source /opt/riscv/bin/activate + pip install --upgrade pip + pip install -r requirements.txt + - name: make tests run: | - sudo rm -rf /usr/local/lib/android - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/share/swift - sudo rm -rf /usr/share/miniconda - sudo rm -rf /usr/share/az* - sudo rm -rf /usr/share/gradle-* - sudo rm -rf /usr/share/sbt - sudo rm -rf /opt/ghc - sudo rm -rf /usr/local/.ghcup - sudo rm -rf /usr/local/share/powershell - sudo rm -rf /usr/local/lib/node_modules - sudo rm -rf /usr/local/julia* - sudo rm -rf /usr/local/share/chromium - sudo rm -rf /usr/local/share/vcpkg - sudo rm -rf /usr/local/games - sudo rm -rf /usr/local/sqlpackage - sudo rm -rf /usr/lib/google-cloud-sdk - sudo rm -rf /usr/lib/jvm - sudo rm -rf /usr/lib/mono - sudo rm -rf /usr/lib/R - sudo rm -rf /usr/lib/postgresql - sudo rm -rf /usr/lib/heroku - sudo rm -rf /usr/lib/llvm* - sudo rm -rf /usr/lib/firefox - sudo rm -rf /opt/hostedtoolcache - sudo docker image prune --all --force - - run: df -h + source setup.sh + source /opt/riscv/bin/activate + make || true - clean-rhel: - name: clean ${{ matrix.os }} + + rhel_family_install: + name: Test on ${{ matrix.os }} runs-on: ubuntu-latest - defaults: - run: - shell: bash container: image: ${{ matrix.os }} options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash strategy: fail-fast: false matrix: - os: ["rockylinux:8", "almalinux:8", "rockylinux:9", "almalinux:9"] + os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] steps: - - run: dnf install -y sudo git + - name: Install dependencies + run: | + dnf install -y sudo git + dnf install curl -y --allowerasing || true - uses: actions/checkout@v4 - - run: df -h - - name: remove packages + with: + submodules: recursive + - run: dnf install -y python3.12 python3-pip + - run: mkdir -p /opt/riscv + - run: python3.12 -m venv /opt/riscv + - run: | + source /opt/riscv/bin/activate + pip install --upgrade pip + pip install -r requirements.txt + - name: make tests run: | - nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" - - run: df -h - - name: check packages - run: dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr - - name: remove dirs + source setup.sh + source /opt/riscv/bin/activate + make || true + - name: regresssion run: | - sudo rm -rf host/usr/local/lib/android - sudo rm -rf host/usr/share/dotnet - sudo rm -rf host/usr/share/swift - sudo rm -rf host/usr/share/miniconda - sudo rm -rf host/usr/share/az* - sudo rm -rf host/usr/share/gradle-* - sudo rm -rf host/usr/share/sbt - sudo rm -rf host/opt/ghc - sudo rm -rf host/usr/local/.ghcup - sudo rm -rf host/usr/local/share/powershell - sudo rm -rf host/usr/local/lib/node_modules - sudo rm -rf host/usr/local/julia* - sudo rm -rf host/usr/local/share/chromium - sudo rm -rf host/usr/local/share/vcpkg - sudo rm -rf host/usr/local/games - sudo rm -rf host/usr/local/sqlpackage - sudo rm -rf host/usr/lib/google-cloud-sdk - sudo rm -rf host/usr/lib/jvm - sudo rm -rf host/usr/lib/mono - sudo rm -rf host/usr/lib/R - sudo rm -rf host/usr/lib/postgresql - sudo rm -rf host/usr/lib/heroku - sudo rm -rf host/usr/lib/llvm* - sudo rm -rf host/usr/lib/firefox - sudo rm -rf host/opt/hostedtoolcache - sudo docker image prune --all --force - - run: df -h + source setup.sh + regression-wally From 690326d6acedf2a413f030b9d7c43676fc3ec527 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 17 Jul 2024 21:34:55 -0700 Subject: [PATCH 052/106] Update shell --- .github/cli-space-cleanup.sh | 3 +- .github/workflows/install.yml | 4 ++- .github/workflows/test.yml | 64 +++++------------------------------ 3 files changed, 13 insertions(+), 58 deletions(-) diff --git a/.github/cli-space-cleanup.sh b/.github/cli-space-cleanup.sh index 27fb300d8..0f8de1619 100755 --- a/.github/cli-space-cleanup.sh +++ b/.github/cli-space-cleanup.sh @@ -30,7 +30,7 @@ # Remove unnecessary packages removePacks=( '^llvm-.*' 'php.*' '^mongodb-.*' '^mysql-.*' '^dotnet-sdk-.*' 'azure-cli' 'google-cloud-cli' 'google-chrome-stable' 'firefox' '^powershell*' 'microsoft-edge-stable' 'mono-devel' 'hhvm' ) for pack in "${removePacks[@]}"; do - sudo apt-get purge -y $pack || true + sudo apt-get purge -y "$pack" || true done sudo apt-get autoremove -y || true sudo apt-get clean || true @@ -58,7 +58,6 @@ sudo rm -rf /usr/lib/mono sudo rm -rf /usr/lib/R sudo rm -rf /usr/lib/postgresql sudo rm -rf /usr/lib/heroku -sudo rm -rf /usr/lib/llvm* sudo rm -rf /usr/lib/firefox sudo rm -rf /opt/hostedtoolcache diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 0dd453b13..ec7a0cf34 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -1,6 +1,8 @@ name: Installation - on: [workflow_dispatch] +defaults: + run: + shell: bash jobs: ubuntu_install: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1343c6700..18f9cb34c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,8 @@ name: Test - on: [workflow_dispatch] +defaults: + run: + shell: bash jobs: ubuntu_install: @@ -12,58 +14,10 @@ jobs: os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Free up storage - run: | - df -h - ./.github/cli-space-cleanup.sh - df -h - - run: mkdir -p /opt/riscv - - run: sudo apt install -y python3 python3-pip python3-venv - - run: python3 -m venv /opt/riscv + # with: + # submodules: recursive - run: | - source /opt/riscv/bin/activate - pip install --upgrade pip - pip install -r requirements.txt - - name: make tests - run: | - source setup.sh - source /opt/riscv/bin/activate - make || true - - - rhel_family_install: - name: Test on ${{ matrix.os }} - runs-on: ubuntu-latest - container: - image: ${{ matrix.os }} - options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash - strategy: - fail-fast: false - matrix: - os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] - steps: - - name: Install dependencies - run: | - dnf install -y sudo git - dnf install curl -y --allowerasing || true - - uses: actions/checkout@v4 - with: - submodules: recursive - - run: dnf install -y python3.12 python3-pip - - run: mkdir -p /opt/riscv - - run: python3.12 -m venv /opt/riscv - - run: | - source /opt/riscv/bin/activate - pip install --upgrade pip - pip install -r requirements.txt - - name: make tests - run: | - source setup.sh - source /opt/riscv/bin/activate - make || true - - name: regresssion - run: | - source setup.sh - regression-wally + df -h + ./.github/cli-space-cleanup.sh + df -h + - run: sudo ./bin/wally-package-install.sh From 60cc2be07fa2b91bd42b3248e1cba93b9ed66814 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 18 Jul 2024 23:36:11 -0700 Subject: [PATCH 053/106] Remove test.yml --- .github/workflows/test.yml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 18f9cb34c..000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Test -on: [workflow_dispatch] -defaults: - run: - shell: bash - -jobs: - ubuntu_install: - name: Test on ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] - steps: - - uses: actions/checkout@v4 - # with: - # submodules: recursive - - run: | - df -h - ./.github/cli-space-cleanup.sh - df -h - - run: sudo ./bin/wally-package-install.sh From 306e5d4042e9d6a2cbb59c38b092c74d78dbd648 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 19 Jul 2024 19:00:14 -0700 Subject: [PATCH 054/106] Add clean + update checks --- .github/workflows/install.yml | 4 ++-- bin/wally-tool-chain-install.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index ec7a0cf34..52cb45f95 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -22,7 +22,7 @@ jobs: ./.github/cli-space-cleanup.sh df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh + run: sudo ./bin/wally-tool-chain-install.sh --clean - name: make tests run: | source setup.sh @@ -56,7 +56,7 @@ jobs: nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - name: install - run: ./bin/wally-tool-chain-install.sh + run: ./bin/wally-tool-chain-install.sh --clean - name: make tests run: | source setup.sh diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index fdb9d6e4f..1905d484c 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -72,7 +72,7 @@ logger() { cat < /dev/stdin | tee -a "$log" | (grep -iE --color=never "(\bwarning|\berror|\bfail|\bsuccess|\bstamp|\bdoesn't work)" || true) | (grep -viE --color=never "(_warning|warning_|_error|error_|-warning|warning-|-error|error-|Werror|error\.o|warning flags)" || true) } -set -e # break on error +set -ex # break on error trap error ERR # run error handler on error STATUS="setup" # keep track of what part of the installation is running for error messages From 56c39e764c5bbce17d49ed1fceb1be2e75a7190c Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 19 Jul 2024 19:39:21 -0700 Subject: [PATCH 055/106] updates --- bin/wally-tool-chain-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index 1905d484c..ad83f3f8f 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -46,6 +46,7 @@ ENDC='\033[0m' # Reset to default color ## Helper functions # Error handler error() { + set +x echo -e "${FAIL_COLOR}Error: $STATUS installation failed" echo -e "Error on line ${BASH_LINENO[0]} with command $BASH_COMMAND${ENDC}" echo -e "Please check the log in $RISCV/logs/$STATUS.log for more information." From 2cb5189db817569243274d4ff2cdf22da75fa45e Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 19 Jul 2024 20:47:58 -0700 Subject: [PATCH 056/106] no buildroot --- bin/regression-wally | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/regression-wally b/bin/regression-wally index 16286c60b..a591aaf61 100755 --- a/bin/regression-wally +++ b/bin/regression-wally @@ -421,8 +421,8 @@ elif (args.fcovrvvi): # only run RV64GC tests on Questa in rvvi coverage mode addTests(tests64gc_fp, coveragesim) else: for sim in sims: - if (not (args.buildroot and sim == defaultsim)): # skip short buildroot sim if running long one - addTests(tests_buildrootshort, sim) + # if (not (args.buildroot and sim == defaultsim)): # skip short buildroot sim if running long one + # addTests(tests_buildrootshort, sim) addTests(tests, sim) addTests(tests64gc_nofp, sim) addTests(tests64gc_fp, sim) From 60c92e99c763ceb75d8416dacefef2bbeaac7ff7 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 19 Jul 2024 22:50:43 -0700 Subject: [PATCH 057/106] Make all git directories safe in installation action --- .github/workflows/install.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 52cb45f95..4b207b9ad 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -50,6 +50,8 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + - name: Fix git ownership + run: git config --global --add safe.directory '*' - name: Free up storage run: | df -h From 535ca9535bee4c2d6bdb643230c6bef38fdfb61a Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 20 Jul 2024 14:54:21 -0700 Subject: [PATCH 058/106] Manually run wsim --- .github/workflows/install.yml | 74 ++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 4b207b9ad..2543d86f9 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -66,4 +66,76 @@ jobs: - name: regresssion run: | source setup.sh - regression-wally + lint-wally + wsim --sim verilator rv32e arch32e + wsim --sim verilator rv32i arch32i + wsim --sim verilator rv32imc arch32i + wsim --sim verilator rv32imc arch32c + wsim --sim verilator rv32imc arch32m + wsim --sim verilator rv32imc wally32periph + wsim --sim verilator rv32gc arch32f + wsim --sim verilator rv32gc arch32d + wsim --sim verilator rv32gc arch32f_fma + wsim --sim verilator rv32gc arch32d_fma + wsim --sim verilator rv32gc arch32f_divsqrt + wsim --sim verilator rv32gc arch32d_divsqrt + wsim --sim verilator rv32gc arch32i + wsim --sim verilator rv32gc arch32priv + wsim --sim verilator rv32gc arch32c + wsim --sim verilator rv32gc arch32m + wsim --sim verilator rv32gc arch32a_amo + wsim --sim verilator rv32gc arch32zifencei + wsim --sim verilator rv32gc arch32zicond + wsim --sim verilator rv32gc arch32zba + wsim --sim verilator rv32gc arch32zbb + wsim --sim verilator rv32gc arch32zbc + wsim --sim verilator rv32gc arch32zbs + wsim --sim verilator rv32gc arch32zfh + wsim --sim verilator rv32gc arch32zfh_fma + wsim --sim verilator rv32gc arch32zfh_divsqrt + wsim --sim verilator rv32gc arch32zfaf + wsim --sim verilator rv32gc arch32zfad + wsim --sim verilator rv32gc wally32a_lrsc + wsim --sim verilator rv32gc wally32priv + wsim --sim verilator rv32gc wally32periph + wsim --sim verilator rv32gc arch32zcb + wsim --sim verilator rv32gc arch32zbkb + wsim --sim verilator rv32gc arch32zbkc + wsim --sim verilator rv32gc arch32zbkx + wsim --sim verilator rv32gc arch32zknd + wsim --sim verilator rv32gc arch32zkne + wsim --sim verilator rv32gc arch32zknh + wsim --sim verilator rv64i arch64i + wsim --sim verilator rv64gc coverage64gc + wsim --sim verilator rv64gc arch64i + wsim --sim verilator rv64gc arch64priv + wsim --sim verilator rv64gc arch64c + wsim --sim verilator rv64gc arch64m + wsim --sim verilator rv64gc arch64zcb + wsim --sim verilator rv64gc arch64zifencei + wsim --sim verilator rv64gc arch64zicond + wsim --sim verilator rv64gc arch64a_amo + wsim --sim verilator rv64gc wally64a_lrsc + wsim --sim verilator rv64gc wally64periph + wsim --sim verilator rv64gc wally64priv + wsim --sim verilator rv64gc arch64zbkb + wsim --sim verilator rv64gc arch64zbkc + wsim --sim verilator rv64gc arch64zbkx + wsim --sim verilator rv64gc arch64zknd + wsim --sim verilator rv64gc arch64zkne + wsim --sim verilator rv64gc arch64zknh + wsim --sim verilator rv64gc arch64zba + wsim --sim verilator rv64gc arch64zbb + wsim --sim verilator rv64gc arch64zbc + wsim --sim verilator rv64gc arch64zbs + wsim --sim verilator rv64gc arch64f + wsim --sim verilator rv64gc arch64d + wsim --sim verilator rv64gc arch64zfh + wsim --sim verilator rv64gc arch64f_fma + wsim --sim verilator rv64gc arch64d_fma + wsim --sim verilator rv64gc arch64zfh_fma + wsim --sim verilator rv64gc arch64f_divsqrt + wsim --sim verilator rv64gc arch64d_divsqrt + wsim --sim verilator rv64gc arch64zfh_divsqrt + wsim --sim verilator rv64gc arch64zfaf + wsim --sim verilator rv64gc arch64zfad From 9b2aa1ae5f9f35bb94eeb4619d6f32059b28b653 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 20 Jul 2024 11:52:37 -0700 Subject: [PATCH 059/106] Only build riscof tests in installation ci --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 2543d86f9..f5854ed72 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -26,7 +26,7 @@ jobs: - name: make tests run: | source setup.sh - make + make riscof - name: regresssion run: | source setup.sh @@ -62,7 +62,7 @@ jobs: - name: make tests run: | source setup.sh - make + make riscof - name: regresssion run: | source setup.sh From dfd27de6963b12c788274ac6e7b8a8de5e296949 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 20 Jul 2024 18:01:39 -0700 Subject: [PATCH 060/106] Update install.yml --- .github/workflows/install.yml | 74 ++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index f5854ed72..cb7ac9002 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -30,7 +30,79 @@ jobs: - name: regresssion run: | source setup.sh - regression-wally + lint-wally + wsim --sim verilator rv32e arch32e + wsim --sim verilator rv32i arch32i + wsim --sim verilator rv32imc arch32i + wsim --sim verilator rv32imc arch32c + wsim --sim verilator rv32imc arch32m + wsim --sim verilator rv32imc wally32periph + wsim --sim verilator rv32gc arch32f + wsim --sim verilator rv32gc arch32d + wsim --sim verilator rv32gc arch32f_fma + wsim --sim verilator rv32gc arch32d_fma + wsim --sim verilator rv32gc arch32f_divsqrt + wsim --sim verilator rv32gc arch32d_divsqrt + wsim --sim verilator rv32gc arch32i + wsim --sim verilator rv32gc arch32priv + wsim --sim verilator rv32gc arch32c + wsim --sim verilator rv32gc arch32m + wsim --sim verilator rv32gc arch32a_amo + wsim --sim verilator rv32gc arch32zifencei + wsim --sim verilator rv32gc arch32zicond + wsim --sim verilator rv32gc arch32zba + wsim --sim verilator rv32gc arch32zbb + wsim --sim verilator rv32gc arch32zbc + wsim --sim verilator rv32gc arch32zbs + wsim --sim verilator rv32gc arch32zfh + wsim --sim verilator rv32gc arch32zfh_fma + wsim --sim verilator rv32gc arch32zfh_divsqrt + wsim --sim verilator rv32gc arch32zfaf + wsim --sim verilator rv32gc arch32zfad + wsim --sim verilator rv32gc wally32a_lrsc + wsim --sim verilator rv32gc wally32priv + wsim --sim verilator rv32gc wally32periph + wsim --sim verilator rv32gc arch32zcb + wsim --sim verilator rv32gc arch32zbkb + wsim --sim verilator rv32gc arch32zbkc + wsim --sim verilator rv32gc arch32zbkx + wsim --sim verilator rv32gc arch32zknd + wsim --sim verilator rv32gc arch32zkne + wsim --sim verilator rv32gc arch32zknh + wsim --sim verilator rv64i arch64i + wsim --sim verilator rv64gc coverage64gc + wsim --sim verilator rv64gc arch64i + wsim --sim verilator rv64gc arch64priv + wsim --sim verilator rv64gc arch64c + wsim --sim verilator rv64gc arch64m + wsim --sim verilator rv64gc arch64zcb + wsim --sim verilator rv64gc arch64zifencei + wsim --sim verilator rv64gc arch64zicond + wsim --sim verilator rv64gc arch64a_amo + wsim --sim verilator rv64gc wally64a_lrsc + wsim --sim verilator rv64gc wally64periph + wsim --sim verilator rv64gc wally64priv + wsim --sim verilator rv64gc arch64zbkb + wsim --sim verilator rv64gc arch64zbkc + wsim --sim verilator rv64gc arch64zbkx + wsim --sim verilator rv64gc arch64zknd + wsim --sim verilator rv64gc arch64zkne + wsim --sim verilator rv64gc arch64zknh + wsim --sim verilator rv64gc arch64zba + wsim --sim verilator rv64gc arch64zbb + wsim --sim verilator rv64gc arch64zbc + wsim --sim verilator rv64gc arch64zbs + wsim --sim verilator rv64gc arch64f + wsim --sim verilator rv64gc arch64d + wsim --sim verilator rv64gc arch64zfh + wsim --sim verilator rv64gc arch64f_fma + wsim --sim verilator rv64gc arch64d_fma + wsim --sim verilator rv64gc arch64zfh_fma + wsim --sim verilator rv64gc arch64f_divsqrt + wsim --sim verilator rv64gc arch64d_divsqrt + wsim --sim verilator rv64gc arch64zfh_divsqrt + wsim --sim verilator rv64gc arch64zfaf + wsim --sim verilator rv64gc arch64zfad rhel_family_install: name: Test installation on ${{ matrix.os }} From a9d2fbdedd34a6a35b123df2053c2a0ff46c4a56 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 20 Jul 2024 23:16:35 -0700 Subject: [PATCH 061/106] Use regression-wally in install cli --- .github/workflows/install.yml | 150 +--------------------------------- 1 file changed, 3 insertions(+), 147 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index cb7ac9002..7b07c5636 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -30,79 +30,7 @@ jobs: - name: regresssion run: | source setup.sh - lint-wally - wsim --sim verilator rv32e arch32e - wsim --sim verilator rv32i arch32i - wsim --sim verilator rv32imc arch32i - wsim --sim verilator rv32imc arch32c - wsim --sim verilator rv32imc arch32m - wsim --sim verilator rv32imc wally32periph - wsim --sim verilator rv32gc arch32f - wsim --sim verilator rv32gc arch32d - wsim --sim verilator rv32gc arch32f_fma - wsim --sim verilator rv32gc arch32d_fma - wsim --sim verilator rv32gc arch32f_divsqrt - wsim --sim verilator rv32gc arch32d_divsqrt - wsim --sim verilator rv32gc arch32i - wsim --sim verilator rv32gc arch32priv - wsim --sim verilator rv32gc arch32c - wsim --sim verilator rv32gc arch32m - wsim --sim verilator rv32gc arch32a_amo - wsim --sim verilator rv32gc arch32zifencei - wsim --sim verilator rv32gc arch32zicond - wsim --sim verilator rv32gc arch32zba - wsim --sim verilator rv32gc arch32zbb - wsim --sim verilator rv32gc arch32zbc - wsim --sim verilator rv32gc arch32zbs - wsim --sim verilator rv32gc arch32zfh - wsim --sim verilator rv32gc arch32zfh_fma - wsim --sim verilator rv32gc arch32zfh_divsqrt - wsim --sim verilator rv32gc arch32zfaf - wsim --sim verilator rv32gc arch32zfad - wsim --sim verilator rv32gc wally32a_lrsc - wsim --sim verilator rv32gc wally32priv - wsim --sim verilator rv32gc wally32periph - wsim --sim verilator rv32gc arch32zcb - wsim --sim verilator rv32gc arch32zbkb - wsim --sim verilator rv32gc arch32zbkc - wsim --sim verilator rv32gc arch32zbkx - wsim --sim verilator rv32gc arch32zknd - wsim --sim verilator rv32gc arch32zkne - wsim --sim verilator rv32gc arch32zknh - wsim --sim verilator rv64i arch64i - wsim --sim verilator rv64gc coverage64gc - wsim --sim verilator rv64gc arch64i - wsim --sim verilator rv64gc arch64priv - wsim --sim verilator rv64gc arch64c - wsim --sim verilator rv64gc arch64m - wsim --sim verilator rv64gc arch64zcb - wsim --sim verilator rv64gc arch64zifencei - wsim --sim verilator rv64gc arch64zicond - wsim --sim verilator rv64gc arch64a_amo - wsim --sim verilator rv64gc wally64a_lrsc - wsim --sim verilator rv64gc wally64periph - wsim --sim verilator rv64gc wally64priv - wsim --sim verilator rv64gc arch64zbkb - wsim --sim verilator rv64gc arch64zbkc - wsim --sim verilator rv64gc arch64zbkx - wsim --sim verilator rv64gc arch64zknd - wsim --sim verilator rv64gc arch64zkne - wsim --sim verilator rv64gc arch64zknh - wsim --sim verilator rv64gc arch64zba - wsim --sim verilator rv64gc arch64zbb - wsim --sim verilator rv64gc arch64zbc - wsim --sim verilator rv64gc arch64zbs - wsim --sim verilator rv64gc arch64f - wsim --sim verilator rv64gc arch64d - wsim --sim verilator rv64gc arch64zfh - wsim --sim verilator rv64gc arch64f_fma - wsim --sim verilator rv64gc arch64d_fma - wsim --sim verilator rv64gc arch64zfh_fma - wsim --sim verilator rv64gc arch64f_divsqrt - wsim --sim verilator rv64gc arch64d_divsqrt - wsim --sim verilator rv64gc arch64zfh_divsqrt - wsim --sim verilator rv64gc arch64zfaf - wsim --sim verilator rv64gc arch64zfad + regression-wally rhel_family_install: name: Test installation on ${{ matrix.os }} @@ -135,79 +63,7 @@ jobs: run: | source setup.sh make riscof - - name: regresssion + - name: regression run: | source setup.sh - lint-wally - wsim --sim verilator rv32e arch32e - wsim --sim verilator rv32i arch32i - wsim --sim verilator rv32imc arch32i - wsim --sim verilator rv32imc arch32c - wsim --sim verilator rv32imc arch32m - wsim --sim verilator rv32imc wally32periph - wsim --sim verilator rv32gc arch32f - wsim --sim verilator rv32gc arch32d - wsim --sim verilator rv32gc arch32f_fma - wsim --sim verilator rv32gc arch32d_fma - wsim --sim verilator rv32gc arch32f_divsqrt - wsim --sim verilator rv32gc arch32d_divsqrt - wsim --sim verilator rv32gc arch32i - wsim --sim verilator rv32gc arch32priv - wsim --sim verilator rv32gc arch32c - wsim --sim verilator rv32gc arch32m - wsim --sim verilator rv32gc arch32a_amo - wsim --sim verilator rv32gc arch32zifencei - wsim --sim verilator rv32gc arch32zicond - wsim --sim verilator rv32gc arch32zba - wsim --sim verilator rv32gc arch32zbb - wsim --sim verilator rv32gc arch32zbc - wsim --sim verilator rv32gc arch32zbs - wsim --sim verilator rv32gc arch32zfh - wsim --sim verilator rv32gc arch32zfh_fma - wsim --sim verilator rv32gc arch32zfh_divsqrt - wsim --sim verilator rv32gc arch32zfaf - wsim --sim verilator rv32gc arch32zfad - wsim --sim verilator rv32gc wally32a_lrsc - wsim --sim verilator rv32gc wally32priv - wsim --sim verilator rv32gc wally32periph - wsim --sim verilator rv32gc arch32zcb - wsim --sim verilator rv32gc arch32zbkb - wsim --sim verilator rv32gc arch32zbkc - wsim --sim verilator rv32gc arch32zbkx - wsim --sim verilator rv32gc arch32zknd - wsim --sim verilator rv32gc arch32zkne - wsim --sim verilator rv32gc arch32zknh - wsim --sim verilator rv64i arch64i - wsim --sim verilator rv64gc coverage64gc - wsim --sim verilator rv64gc arch64i - wsim --sim verilator rv64gc arch64priv - wsim --sim verilator rv64gc arch64c - wsim --sim verilator rv64gc arch64m - wsim --sim verilator rv64gc arch64zcb - wsim --sim verilator rv64gc arch64zifencei - wsim --sim verilator rv64gc arch64zicond - wsim --sim verilator rv64gc arch64a_amo - wsim --sim verilator rv64gc wally64a_lrsc - wsim --sim verilator rv64gc wally64periph - wsim --sim verilator rv64gc wally64priv - wsim --sim verilator rv64gc arch64zbkb - wsim --sim verilator rv64gc arch64zbkc - wsim --sim verilator rv64gc arch64zbkx - wsim --sim verilator rv64gc arch64zknd - wsim --sim verilator rv64gc arch64zkne - wsim --sim verilator rv64gc arch64zknh - wsim --sim verilator rv64gc arch64zba - wsim --sim verilator rv64gc arch64zbb - wsim --sim verilator rv64gc arch64zbc - wsim --sim verilator rv64gc arch64zbs - wsim --sim verilator rv64gc arch64f - wsim --sim verilator rv64gc arch64d - wsim --sim verilator rv64gc arch64zfh - wsim --sim verilator rv64gc arch64f_fma - wsim --sim verilator rv64gc arch64d_fma - wsim --sim verilator rv64gc arch64zfh_fma - wsim --sim verilator rv64gc arch64f_divsqrt - wsim --sim verilator rv64gc arch64d_divsqrt - wsim --sim verilator rv64gc arch64zfh_divsqrt - wsim --sim verilator rv64gc arch64zfaf - wsim --sim verilator rv64gc arch64zfad + regression-wally From d613a1b2f9ede52c456bcd7cf14470e25773f0d3 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 21 Jul 2024 11:16:08 -0700 Subject: [PATCH 062/106] Upload logs --- .github/workflows/install.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 7b07c5636..8d6abfd2f 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -31,6 +31,11 @@ jobs: run: | source setup.sh regression-wally + - uses: actions/upload-artifact@v2 + if: always() + with: + name: regression-logs-${{ matrix.os }} + path: ${{ github.workspace }}/sim/verilator/logs/ rhel_family_install: name: Test installation on ${{ matrix.os }} @@ -67,3 +72,8 @@ jobs: run: | source setup.sh regression-wally + - uses: actions/upload-artifact@v2 + if: always() + with: + name: regression-logs-${{ matrix.os }} + path: ${{ github.workspace }}/sim/verilator/logs/ From 864fb199f0bea8dcc55dbee256e21f796e55efc0 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 21 Jul 2024 14:16:12 -0700 Subject: [PATCH 063/106] Update artifact upload --- .github/workflows/install.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 8d6abfd2f..b422ae762 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -1,5 +1,5 @@ name: Installation -on: [workflow_dispatch] +on: [workflow_dispatch, push] defaults: run: shell: bash @@ -31,7 +31,7 @@ jobs: run: | source setup.sh regression-wally - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 if: always() with: name: regression-logs-${{ matrix.os }} @@ -48,6 +48,11 @@ jobs: matrix: os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] 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 - name: Install dependencies run: | dnf install -y sudo git @@ -72,8 +77,8 @@ jobs: run: | source setup.sh regression-wally - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 if: always() with: - name: regression-logs-${{ matrix.os }} + name: regression-logs-${{ env.ARTIFACT_NAME }} path: ${{ github.workspace }}/sim/verilator/logs/ From 269399946c639165190aea082c4f9d1b83cf1bd5 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 23 Jul 2024 00:19:20 -0700 Subject: [PATCH 064/106] Save installation logs --- .github/workflows/install.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b422ae762..158113b25 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -36,6 +36,11 @@ jobs: with: name: regression-logs-${{ matrix.os }} path: ${{ github.workspace }}/sim/verilator/logs/ + - uses: actions/upload-artifact@v4 + if: always() + with: + name: installation-logs-${{ matrix.os }} + path: /opt/riscv/logs/ rhel_family_install: name: Test installation on ${{ matrix.os }} @@ -82,3 +87,8 @@ jobs: with: name: regression-logs-${{ env.ARTIFACT_NAME }} path: ${{ github.workspace }}/sim/verilator/logs/ + - uses: actions/upload-artifact@v4 + if: always() + with: + name: installation-logs-${{ env.ARTIFACT_NAME }} + path: /opt/riscv/logs/ From 63b387619d5dd47184320b19d10e116777a4b441 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 23 Jul 2024 02:00:27 -0700 Subject: [PATCH 065/106] Add buildroot to installation test --- .github/workflows/install.yml | 6 +++++- bin/regression-wally | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 158113b25..6b989b7ad 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -27,7 +27,11 @@ jobs: run: | source setup.sh make riscof - - name: regresssion + - name: make buildroot + run: | + source setup.sh + make -C linux + - name: regression run: | source setup.sh regression-wally diff --git a/bin/regression-wally b/bin/regression-wally index a591aaf61..16286c60b 100755 --- a/bin/regression-wally +++ b/bin/regression-wally @@ -421,8 +421,8 @@ elif (args.fcovrvvi): # only run RV64GC tests on Questa in rvvi coverage mode addTests(tests64gc_fp, coveragesim) else: for sim in sims: - # if (not (args.buildroot and sim == defaultsim)): # skip short buildroot sim if running long one - # addTests(tests_buildrootshort, sim) + if (not (args.buildroot and sim == defaultsim)): # skip short buildroot sim if running long one + addTests(tests_buildrootshort, sim) addTests(tests, sim) addTests(tests64gc_nofp, sim) addTests(tests64gc_fp, sim) From 84ee1f0b179898a4c9726faf8aa9769a17aaae19 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 23 Jul 2024 15:57:30 -0700 Subject: [PATCH 066/106] Rhel buildroot --- .github/workflows/install.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 6b989b7ad..e97be456e 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -82,6 +82,10 @@ jobs: run: | source setup.sh make riscof + - name: make buildroot + run: | + source setup.sh + make -C linux - name: regression run: | source setup.sh From f115ee9e722ef07529f7525e5e4a6c333d46768f Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 23 Jul 2024 23:35:11 -0700 Subject: [PATCH 067/106] Run make linux with sudo in installation test --- .github/workflows/install.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index e97be456e..56b80f757 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -30,7 +30,7 @@ jobs: - name: make buildroot run: | source setup.sh - make -C linux + sudo make -C linux - name: regression run: | source setup.sh @@ -77,7 +77,7 @@ jobs: nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - name: install - run: ./bin/wally-tool-chain-install.sh --clean + run: sudo ./bin/wally-tool-chain-install.sh --clean - name: make tests run: | source setup.sh @@ -85,7 +85,7 @@ jobs: - name: make buildroot run: | source setup.sh - make -C linux + sudo make -C linux - name: regression run: | source setup.sh From 50fc27cb454dc1a95f23eecf359f50eef2d66ada Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 24 Jul 2024 12:36:33 -0700 Subject: [PATCH 068/106] Log buildroot test --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 56b80f757..c66187ff2 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -30,7 +30,7 @@ jobs: - name: make buildroot run: | source setup.sh - sudo make -C linux + sudo make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh @@ -85,7 +85,7 @@ jobs: - name: make buildroot run: | source setup.sh - sudo make -C linux + sudo make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh From a4c585ca56c31bee48ac1a0879f7fa081fe8e288 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 24 Jul 2024 19:51:31 -0700 Subject: [PATCH 069/106] Change number of riscof jobs in installation test action; restore default to 4 --- .github/workflows/install.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index c66187ff2..b63c57211 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -26,6 +26,7 @@ jobs: - name: make tests run: | source setup.sh + sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - name: make buildroot run: | @@ -81,6 +82,7 @@ jobs: - name: make tests run: | source setup.sh + sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - name: make buildroot run: | From f47fbdcb05b1eaf0c077a9d195e577f0ead532bc Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 25 Jul 2024 22:41:13 -0700 Subject: [PATCH 070/106] Update install test to preserve variables for buildroot build --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b63c57211..03ed7a82c 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -31,7 +31,7 @@ jobs: - name: make buildroot run: | source setup.sh - sudo make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log + sudo -E make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh @@ -87,7 +87,7 @@ jobs: - name: make buildroot run: | source setup.sh - sudo make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log + sudo -E make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh From 04ddfa0bd07b05e81773dcf00a98f6df974f0345 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 26 Jul 2024 11:47:08 -0700 Subject: [PATCH 071/106] Update install test with buildroot changes --- .github/workflows/install.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 03ed7a82c..0788e9883 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -31,7 +31,7 @@ jobs: - name: make buildroot run: | source setup.sh - sudo -E make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log + make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh @@ -87,7 +87,7 @@ jobs: - name: make buildroot run: | source setup.sh - sudo -E make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log + make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh From 32522fcf3d0cc618885127b58e0b0b49893b5f03 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 26 Jul 2024 12:42:15 -0700 Subject: [PATCH 072/106] Switch test install to use buildroot from install script --- .github/workflows/install.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 0788e9883..4e7cfdc9e 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -23,15 +23,15 @@ jobs: df -h - name: install run: sudo ./bin/wally-tool-chain-install.sh --clean + - name: check buildroot + run: | + source setup.sh + ls $RISCV/linux-testvectors - name: make tests run: | source setup.sh sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - - name: make buildroot - run: | - source setup.sh - make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh From d528eddab5a6fb51d3a9a7928fc7d1c90e7eacc3 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 26 Jul 2024 15:21:43 -0700 Subject: [PATCH 073/106] Switch rhel installation test to use install script buildroot --- .github/workflows/install.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 4e7cfdc9e..b300044f8 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -79,15 +79,15 @@ jobs: df -h - name: install run: sudo ./bin/wally-tool-chain-install.sh --clean + - name: check buildroot + run: | + source setup.sh + ls $RISCV/linux-testvectors - name: make tests run: | source setup.sh sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - - name: make buildroot - run: | - source setup.sh - make -C linux 2>&1 | tee -a $RISCV/logs/buildroot.log - name: regression run: | source setup.sh From 62157df494b905f212fef660e930fae6e3af42fc Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 26 Jul 2024 17:26:24 -0700 Subject: [PATCH 074/106] Turn off debugging messages --- bin/wally-tool-chain-install.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index ad83f3f8f..fdb9d6e4f 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -46,7 +46,6 @@ ENDC='\033[0m' # Reset to default color ## Helper functions # Error handler error() { - set +x echo -e "${FAIL_COLOR}Error: $STATUS installation failed" echo -e "Error on line ${BASH_LINENO[0]} with command $BASH_COMMAND${ENDC}" echo -e "Please check the log in $RISCV/logs/$STATUS.log for more information." @@ -73,7 +72,7 @@ logger() { cat < /dev/stdin | tee -a "$log" | (grep -iE --color=never "(\bwarning|\berror|\bfail|\bsuccess|\bstamp|\bdoesn't work)" || true) | (grep -viE --color=never "(_warning|warning_|_error|error_|-warning|warning-|-error|error-|Werror|error\.o|warning flags)" || true) } -set -ex # break on error +set -e # break on error trap error ERR # run error handler on error STATUS="setup" # keep track of what part of the installation is running for error messages From 5f9e34788a14bd3654e7ec2822f9d69e93046a8d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 7 Aug 2024 22:02:33 -0700 Subject: [PATCH 075/106] Update installation test logging --- .github/workflows/install.yml | 106 +++++++++++++++++++++++++++++----- 1 file changed, 90 insertions(+), 16 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b300044f8..74a9f58b1 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -23,10 +23,12 @@ jobs: df -h - name: install run: sudo ./bin/wally-tool-chain-install.sh --clean - - name: check buildroot - run: | - source setup.sh - ls $RISCV/linux-testvectors + - name: Upload installation logs + uses: actions/upload-artifact@v4 + if: always() + with: + name: installation-logs-${{ matrix.os }} + path: /opt/riscv/logs/ - name: make tests run: | source setup.sh @@ -36,16 +38,12 @@ jobs: run: | source setup.sh regression-wally - - uses: actions/upload-artifact@v4 + - name: Upload regression logs + uses: actions/upload-artifact@v4 if: always() with: name: regression-logs-${{ matrix.os }} path: ${{ github.workspace }}/sim/verilator/logs/ - - uses: actions/upload-artifact@v4 - if: always() - with: - name: installation-logs-${{ matrix.os }} - path: /opt/riscv/logs/ rhel_family_install: name: Test installation on ${{ matrix.os }} @@ -79,10 +77,12 @@ jobs: df -h - name: install run: sudo ./bin/wally-tool-chain-install.sh --clean - - name: check buildroot - run: | - source setup.sh - ls $RISCV/linux-testvectors + - 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 run: | source setup.sh @@ -92,12 +92,86 @@ jobs: run: | source setup.sh regression-wally - - uses: actions/upload-artifact@v4 + - name: Upload regression logs + uses: actions/upload-artifact@v4 if: always() with: name: regression-logs-${{ env.ARTIFACT_NAME }} path: ${{ github.workspace }}/sim/verilator/logs/ - - uses: actions/upload-artifact@v4 + + + 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/ + - name: make tests + run: | + source setup.sh + sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini + make riscof + - 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 + 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 + run: sudo ./bin/wally-tool-chain-install.sh --clean /home/riscv + - name: Upload instalation logs + uses: actions/upload-artifact@v4 + if: always() + with: + name: installation-logs-custom-location-install + path: /home/riscv/logs/ + - name: Update setup.sh with new $RISCV location + run: sed -i 's,/opt/riscv,/home/riscv,g' setup.sh + - name: make tests + run: | + source setup.sh + sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini + make riscof + - name: regression + run: | + source setup.sh + regression-wally + - name: Upload regression logs + uses: actions/upload-artifact@v4 if: always() with: name: installation-logs-${{ env.ARTIFACT_NAME }} From 521633698ca8a967e2fdf76b13a1d6c295effb5f Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Wed, 7 Aug 2024 22:11:40 -0700 Subject: [PATCH 076/106] Add non-sudo and custom location installation tests --- .github/workflows/install.yml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 74a9f58b1..a653fac5c 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -140,9 +140,18 @@ jobs: custom_location_install: - name: Test installation with custom location + 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 with: submodules: recursive @@ -152,15 +161,15 @@ jobs: ./.github/cli-space-cleanup.sh df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean /home/riscv + 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 - path: /home/riscv/logs/ + 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,/opt/riscv,/home/riscv,g' setup.sh + run: sed -i 's,exit 1,export RISCV=${{ matrix.path }},g' setup.sh - name: make tests run: | source setup.sh @@ -174,5 +183,5 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: installation-logs-${{ env.ARTIFACT_NAME }} - path: /opt/riscv/logs/ + name: regression-logs-custom-location-install-${{ env.ARTIFACT_NAME }} + path: ${{ github.workspace }}/sim/verilator/logs/ From 59ee4cf7e4d0b5979cf1449653d520db2349fa57 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sat, 17 Aug 2024 09:43:18 -0700 Subject: [PATCH 077/106] Switch to new RISCOF humber of jobs in install test --- .github/workflows/install.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index a653fac5c..771255ff7 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -32,7 +32,6 @@ jobs: - name: make tests run: | source setup.sh - sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - name: regression run: | @@ -86,7 +85,6 @@ jobs: - name: make tests run: | source setup.sh - sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - name: regression run: | @@ -125,7 +123,6 @@ jobs: - name: make tests run: | source setup.sh - sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - name: regression run: | @@ -173,7 +170,6 @@ jobs: - name: make tests run: | source setup.sh - sed -i 's,jobs=4,jobs=3,g' "$WALLY"/tests/riscof/config.ini make riscof - name: regression run: | From 905521ef0ffbd2ad16ec66bbfd2b85106aeb494e Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 30 Sep 2024 08:07:35 -0700 Subject: [PATCH 078/106] Update ci to use make --jobs --- .github/workflows/install.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 771255ff7..a84f93866 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -32,7 +32,7 @@ jobs: - name: make tests run: | source setup.sh - make riscof + make riscof --jobs $(nproc --ignore 1) - name: regression run: | source setup.sh @@ -85,7 +85,7 @@ jobs: - name: make tests run: | source setup.sh - make riscof + make riscof --jobs $(nproc --ignore 1) - name: regression run: | source setup.sh @@ -123,7 +123,7 @@ jobs: - name: make tests run: | source setup.sh - make riscof + make riscof --jobs $(nproc --ignore 1) - name: regression run: | source setup.sh @@ -170,7 +170,7 @@ jobs: - name: make tests run: | source setup.sh - make riscof + make riscof --jobs $(nproc --ignore 1) - name: regression run: | source setup.sh From 76503e517e8dec21049ffbac8f0cd94e2945bb2a Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 8 Oct 2024 15:20:02 -0700 Subject: [PATCH 079/106] Running out of space --- .github/workflows/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index a84f93866..b0e5255a8 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -32,7 +32,7 @@ jobs: - name: make tests run: | source setup.sh - make riscof --jobs $(nproc --ignore 1) + make riscof - name: regression run: | source setup.sh From e50d85aa729885fa2cb1eba360734da391a0f6a1 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Thu, 10 Oct 2024 13:59:36 -0700 Subject: [PATCH 080/106] Trying to track down storage issue --- .github/workflows/install.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b0e5255a8..25762b4e1 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -171,6 +171,10 @@ jobs: run: | source setup.sh make riscof --jobs $(nproc --ignore 1) + - name: check storage + run: | + df -h + du -h --max-depth=1 - name: regression run: | source setup.sh From d389bb547fd795136a9d9b5e8f97f7ace8693431 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Fri, 11 Oct 2024 21:54:28 -0700 Subject: [PATCH 081/106] Add storage checks --- .github/workflows/install.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 25762b4e1..5f58eef31 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -29,10 +29,18 @@ jobs: with: name: installation-logs-${{ matrix.os }} path: /opt/riscv/logs/ + - name: check storage + run: | + df -h + du -h --max-depth=1 - name: make tests run: | source setup.sh make riscof + - name: check storage + run: | + df -h + du -h --max-depth=1 - name: regression run: | source setup.sh @@ -82,10 +90,18 @@ jobs: with: name: installation-logs-${{ env.ARTIFACT_NAME }} path: /opt/riscv/logs/ + - name: check storage + run: | + df -h + du -h --max-depth=1 - name: make tests run: | source setup.sh make riscof --jobs $(nproc --ignore 1) + - name: check storage + run: | + df -h + du -h --max-depth=1 - name: regression run: | source setup.sh From 7d6e283e041f3952da106f708fe16dc14fb547ce Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 13 Oct 2024 20:41:00 -0700 Subject: [PATCH 082/106] Use precompiled riscv-gnu-toolchain binary for faster test --- bin/wally-tool-chain-install.sh | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index fdb9d6e4f..ba51ab5dc 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -230,19 +230,20 @@ section_header "Installing/Updating RISC-V GNU Toolchain" STATUS="riscv-gnu-toolchain" cd "$RISCV" # Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. -if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then - cd riscv-gnu-toolchain - git reset --hard && git clean -f && git checkout b488ddb #&& git pull - ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" - make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] - if [ "$clean" ]; then - cd "$RISCV" - rm -rf riscv-gnu-toolchain - fi +curl --location https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.09.03/riscv64-elf-ubuntu-20.04-gcc-nightly-2024.09.03-nightly.tar.gz | tar xvz --directory="$RISCV" --strip-components=1 +# if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then +# cd riscv-gnu-toolchain +# git reset --hard && git clean -f && git checkout b488ddb #&& git pull +# ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" +# make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] +# if [ "$clean" ]; then +# cd "$RISCV" +# rm -rf riscv-gnu-toolchain +# fi echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain successfully installed/updated!${ENDC}" -else - echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" -fi +# else +# echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" +# fi # elf2hex (https://github.com/sifive/elf2hex) From 19e15aee12db0cdf0ea676017caeab829de2363c Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 13 Oct 2024 21:17:20 -0700 Subject: [PATCH 083/106] Only clone needed submodules --- .github/workflows/install.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 5f58eef31..fea433ce1 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -14,8 +14,8 @@ jobs: os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] steps: - uses: actions/checkout@v4 - with: - submodules: recursive + - name: Clone Necessary Submodules + run: git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h @@ -73,8 +73,8 @@ jobs: dnf install -y sudo git dnf install curl -y --allowerasing || true - uses: actions/checkout@v4 - with: - submodules: recursive + - name: Clone Necessary Submodules + run: git submodule update --init addins/riscv-arch-test - name: Fix git ownership run: git config --global --add safe.directory '*' - name: Free up storage @@ -119,8 +119,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - submodules: recursive + - name: Clone Necessary Submodules + run: git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h @@ -166,8 +166,8 @@ jobs: name=$(echo -n "${{ matrix.os }}" | sed -e 's/[ \t:\/\\"<>|*?]/-/g' -e 's/--*/-/g') echo "ARTIFACT_NAME=$name" >> $GITHUB_ENV - uses: actions/checkout@v4 - with: - submodules: recursive + - name: Clone Necessary Submodules + run: git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h From ec3907bfd75ea7ea3cf1c4093b830f9a6f3a4d4e Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 13 Oct 2024 21:30:18 -0700 Subject: [PATCH 084/106] Revert "Use precompiled riscv-gnu-toolchain binary for faster test" This reverts commit af480292f355e82c6bdc4cef040bdedc52dfd8fd. --- bin/wally-tool-chain-install.sh | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index ba51ab5dc..fdb9d6e4f 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -230,20 +230,19 @@ section_header "Installing/Updating RISC-V GNU Toolchain" STATUS="riscv-gnu-toolchain" cd "$RISCV" # Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. -curl --location https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.09.03/riscv64-elf-ubuntu-20.04-gcc-nightly-2024.09.03-nightly.tar.gz | tar xvz --directory="$RISCV" --strip-components=1 -# if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then -# cd riscv-gnu-toolchain -# git reset --hard && git clean -f && git checkout b488ddb #&& git pull -# ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" -# make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] -# if [ "$clean" ]; then -# cd "$RISCV" -# rm -rf riscv-gnu-toolchain -# fi +if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then + cd riscv-gnu-toolchain + git reset --hard && git clean -f && git checkout b488ddb #&& git pull + ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" + make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] + if [ "$clean" ]; then + cd "$RISCV" + rm -rf riscv-gnu-toolchain + fi echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain successfully installed/updated!${ENDC}" -# else -# echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" -# fi +else + echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" +fi # elf2hex (https://github.com/sifive/elf2hex) From 77ed0b4ca5f2b50914092d6c6779efef6f01fd9f Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 13 Oct 2024 21:48:00 -0700 Subject: [PATCH 085/106] Fix git permissions --- .github/workflows/install.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index fea433ce1..d742b0ce4 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -15,7 +15,9 @@ jobs: steps: - uses: actions/checkout@v4 - name: Clone Necessary Submodules - run: git submodule update --init addins/riscv-arch-test + run: | + git config --global --add safe.directory '*' + git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h @@ -74,9 +76,9 @@ jobs: dnf install curl -y --allowerasing || true - uses: actions/checkout@v4 - name: Clone Necessary Submodules - run: git submodule update --init addins/riscv-arch-test - - name: Fix git ownership - run: git config --global --add safe.directory '*' + run: | + git config --global --add safe.directory '*' + git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h @@ -120,7 +122,9 @@ jobs: steps: - uses: actions/checkout@v4 - name: Clone Necessary Submodules - run: git submodule update --init addins/riscv-arch-test + run: | + git config --global --add safe.directory '*' + git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h @@ -167,7 +171,9 @@ jobs: echo "ARTIFACT_NAME=$name" >> $GITHUB_ENV - uses: actions/checkout@v4 - name: Clone Necessary Submodules - run: git submodule update --init addins/riscv-arch-test + run: | + git config --global --add safe.directory '*' + git submodule update --init addins/riscv-arch-test - name: Free up storage run: | df -h From 62743d8237f9c7661683179f1943936265932bf9 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Sun, 13 Oct 2024 23:30:37 -0700 Subject: [PATCH 086/106] No buildroot and use precompiled gcc --- .github/workflows/install.yml | 8 ++++---- bin/wally-tool-chain-install.sh | 31 ++++++++++++++++--------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index d742b0ce4..37eeda1ae 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -24,7 +24,7 @@ jobs: ./.github/cli-space-cleanup.sh df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean + run: sudo ./bin/wally-tool-chain-install.sh --clean --no-buildroot - name: Upload installation logs uses: actions/upload-artifact@v4 if: always() @@ -85,7 +85,7 @@ jobs: nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean + run: sudo ./bin/wally-tool-chain-install.sh --clean --no-buildroot - name: Upload installation logs uses: actions/upload-artifact@v4 if: always() @@ -133,7 +133,7 @@ jobs: - name: install packages with sudo run: sudo ./bin/wally-package-install.sh - name: install - run: ./bin/wally-tool-chain-install.sh --clean + run: ./bin/wally-tool-chain-install.sh --clean --no-buildroot - name: Upload installation logs uses: actions/upload-artifact@v4 if: always() @@ -180,7 +180,7 @@ jobs: ./.github/cli-space-cleanup.sh df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean ${{ matrix.path }} + run: sudo ./bin/wally-tool-chain-install.sh --clean --no-buildroot ${{ matrix.path }} - name: Upload instalation logs uses: actions/upload-artifact@v4 if: always() diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index fdb9d6e4f..59e26eb66 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -228,21 +228,22 @@ fi # This book is tested with GCC 13.2.0 section_header "Installing/Updating RISC-V GNU Toolchain" STATUS="riscv-gnu-toolchain" -cd "$RISCV" -# Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. -if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then - cd riscv-gnu-toolchain - git reset --hard && git clean -f && git checkout b488ddb #&& git pull - ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" - make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] - if [ "$clean" ]; then - cd "$RISCV" - rm -rf riscv-gnu-toolchain - fi - echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain successfully installed/updated!${ENDC}" -else - echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" -fi +curl --location https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.09.03/riscv64-elf-ubuntu-22.04-gcc-nightly-2024.09.03-nightly.tar.gz | tar xvz --directory="$RISCV" --strip-components=1 +# cd "$RISCV" +# # Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. +# if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then +# cd riscv-gnu-toolchain +# git reset --hard && git clean -f && git checkout b488ddb #&& git pull +# ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" +# make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] +# if [ "$clean" ]; then +# cd "$RISCV" +# rm -rf riscv-gnu-toolchain +# fi +# echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain successfully installed/updated!${ENDC}" +# else +# echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" +# fi # elf2hex (https://github.com/sifive/elf2hex) From 361b4835a783152c9b7c835d91b8958ba201b24e Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 00:23:07 -0700 Subject: [PATCH 087/106] revert precompiled gcc --- bin/wally-tool-chain-install.sh | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index 59e26eb66..fdb9d6e4f 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -228,22 +228,21 @@ fi # This book is tested with GCC 13.2.0 section_header "Installing/Updating RISC-V GNU Toolchain" STATUS="riscv-gnu-toolchain" -curl --location https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.09.03/riscv64-elf-ubuntu-22.04-gcc-nightly-2024.09.03-nightly.tar.gz | tar xvz --directory="$RISCV" --strip-components=1 -# cd "$RISCV" -# # Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. -# if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then -# cd riscv-gnu-toolchain -# git reset --hard && git clean -f && git checkout b488ddb #&& git pull -# ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" -# make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] -# if [ "$clean" ]; then -# cd "$RISCV" -# rm -rf riscv-gnu-toolchain -# fi -# echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain successfully installed/updated!${ENDC}" -# else -# echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" -# fi +cd "$RISCV" +# Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. +if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2" "b488ddb"; then + cd riscv-gnu-toolchain + git reset --hard && git clean -f && git checkout b488ddb #&& git pull + ./configure --prefix="${RISCV}" --with-multilib-generator="rv32e-ilp32e--;rv32i-ilp32--;rv32im-ilp32--;rv32iac-ilp32--;rv32imac-ilp32--;rv32imafc-ilp32f--;rv32imafdc-ilp32d--;rv64i-lp64--;rv64ic-lp64--;rv64iac-lp64--;rv64imac-lp64--;rv64imafdc-lp64d--;rv64im-lp64--;" + make -j "${NUM_THREADS}" 2>&1 | logger $STATUS; [ "${PIPESTATUS[0]}" == 0 ] + if [ "$clean" ]; then + cd "$RISCV" + rm -rf riscv-gnu-toolchain + fi + echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain successfully installed/updated!${ENDC}" +else + echo -e "${SUCCESS_COLOR}RISC-V GNU Toolchain already up to date.${ENDC}" +fi # elf2hex (https://github.com/sifive/elf2hex) From 86d0e13330c046475845a1a29605a592ffc28a8d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 00:48:39 -0700 Subject: [PATCH 088/106] Update submodules that are checked out --- .github/workflows/install.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 37eeda1ae..cfbb3a4d4 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -17,7 +17,7 @@ jobs: - name: Clone Necessary Submodules run: | git config --global --add safe.directory '*' - git submodule update --init addins/riscv-arch-test + git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - name: Free up storage run: | df -h @@ -78,7 +78,7 @@ jobs: - name: Clone Necessary Submodules run: | git config --global --add safe.directory '*' - git submodule update --init addins/riscv-arch-test + git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - name: Free up storage run: | df -h @@ -124,7 +124,7 @@ jobs: - name: Clone Necessary Submodules run: | git config --global --add safe.directory '*' - git submodule update --init addins/riscv-arch-test + git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - name: Free up storage run: | df -h @@ -173,7 +173,7 @@ jobs: - name: Clone Necessary Submodules run: | git config --global --add safe.directory '*' - git submodule update --init addins/riscv-arch-test + git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - name: Free up storage run: | df -h From 732f5a932607dadec32fffcf7221c1525f76125a Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 07:47:45 -0700 Subject: [PATCH 089/106] Add buildroot back to installation test --- .github/workflows/install.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index cfbb3a4d4..9b150f793 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -24,7 +24,7 @@ jobs: ./.github/cli-space-cleanup.sh df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean --no-buildroot + run: sudo ./bin/wally-tool-chain-install.sh --clean - name: Upload installation logs uses: actions/upload-artifact@v4 if: always() @@ -38,7 +38,7 @@ jobs: - name: make tests run: | source setup.sh - make riscof + make riscof --jobs $(nproc --ignore 1) - name: check storage run: | df -h @@ -85,7 +85,7 @@ jobs: nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean --no-buildroot + run: sudo ./bin/wally-tool-chain-install.sh --clean - name: Upload installation logs uses: actions/upload-artifact@v4 if: always() @@ -133,7 +133,7 @@ jobs: - name: install packages with sudo run: sudo ./bin/wally-package-install.sh - name: install - run: ./bin/wally-tool-chain-install.sh --clean --no-buildroot + run: ./bin/wally-tool-chain-install.sh --clean - name: Upload installation logs uses: actions/upload-artifact@v4 if: always() @@ -180,7 +180,7 @@ jobs: ./.github/cli-space-cleanup.sh df -h - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean --no-buildroot ${{ matrix.path }} + run: sudo ./bin/wally-tool-chain-install.sh --clean ${{ matrix.path }} - name: Upload instalation logs uses: actions/upload-artifact@v4 if: always() From 4a337bf1d86d5afe15bb4efcc280ef042ba92699 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 22:34:16 -0700 Subject: [PATCH 090/106] Remove buildroot/output/build to save save in installation test --- .github/workflows/install.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 9b150f793..7e912fb46 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -41,8 +41,8 @@ jobs: make riscof --jobs $(nproc --ignore 1) - name: check storage run: | + sudo rm -rf /opt/riscv/buildroot/output/build df -h - du -h --max-depth=1 - name: regression run: | source setup.sh @@ -102,8 +102,8 @@ jobs: make riscof --jobs $(nproc --ignore 1) - name: check storage run: | + sudo rm -rf /opt/riscv/buildroot/output/build df -h - du -h --max-depth=1 - name: regression run: | source setup.sh @@ -144,6 +144,10 @@ jobs: 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 @@ -195,8 +199,8 @@ jobs: make riscof --jobs $(nproc --ignore 1) - name: check storage run: | + sudo rm -rf ${{ matrix.path }}/buildroot/output/build df -h - du -h --max-depth=1 - name: regression run: | source setup.sh From f6d6537c7b673bb0caba4940a8ff2485dde2c69d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 23:11:17 -0700 Subject: [PATCH 091/106] Combine Ubuntu and Red Hat test installation workflows --- .github/workflows/install.yml | 124 ++++++++++++++-------------------- 1 file changed, 51 insertions(+), 73 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 7e912fb46..359868b3a 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -5,106 +5,84 @@ defaults: shell: bash jobs: - ubuntu_install: - name: Test installation on ${{ matrix.os }} - runs-on: ${{ matrix.os }} + installation_test: + name: Test installation for ${{ matrix.name }} strategy: fail-fast: false matrix: - os: ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"] + include: + # Ubuntu Installations + - name: ubuntu-20.04 + os: ubuntu-20.04 + container: null + - name: ubuntu-22.04 + os: ubuntu-22.04 + container: null + - name: ubuntu-24.04 + os: ubuntu-24.04 + container: null + # Red Hat Installations + - name: rocky-8 + os: ubuntu-latest + image: rockylinux:8 + - name: rocky-9 + os: ubuntu-latest + image: rockylinux:9 + - name: almalinux-8 + os: ubuntu-latest + image: almalinux:8 + - name: almalinux-9 + os: ubuntu-latest + image: almalinux:9 + + runs-on: ${{ matrix.os }} + container: + image: ${{ matrix.image }} + options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash steps: + - name: Install Dependencies for Red Hat + if: ${{ matrix.image }} != null + run: | + dnf install -y sudo git + dnf install curl -y --allowerasing || true - 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 + - name: Free Up Storage for Ubuntu + if: ${{ matrix.image }} == null run: | df -h ./.github/cli-space-cleanup.sh df -h - - name: install - run: sudo ./bin/wally-tool-chain-install.sh --clean - - name: Upload installation logs - uses: actions/upload-artifact@v4 - if: always() - with: - name: installation-logs-${{ matrix.os }} - path: /opt/riscv/logs/ - - name: check storage - run: | - df -h - du -h --max-depth=1 - - 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-${{ matrix.os }} - path: ${{ github.workspace }}/sim/verilator/logs/ - - rhel_family_install: - name: Test installation on ${{ matrix.os }} - runs-on: ubuntu-latest - container: - image: ${{ matrix.os }} - options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash - strategy: - fail-fast: false - matrix: - os: ["rockylinux:8", "rockylinux:9", "almalinux:8", "almalinux:9"] - 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 - - name: Install dependencies - run: | - dnf install -y sudo git - dnf install curl -y --allowerasing || true - - 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 + - name: Free Up Storage for Red Hat + if: ${{ matrix.image }} != null run: | df -h nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" df -h - - name: install + - name: Install run: sudo ./bin/wally-tool-chain-install.sh --clean - - name: Upload installation logs + - name: Set Environment Variables + run: | + source setup.sh + echo "RISCV=$RISCV" >> "$GITHUB_ENV" + - name: Upload Installation Logs uses: actions/upload-artifact@v4 if: always() with: - name: installation-logs-${{ env.ARTIFACT_NAME }} - path: /opt/riscv/logs/ - - name: check storage - run: | - df -h - du -h --max-depth=1 + name: installation-logs-${{ matrix.name }} + path: $RISCV/logs/ - name: make tests run: | source setup.sh make riscof --jobs $(nproc --ignore 1) - - name: check storage + - name: Remove Buildroot to Save Space run: | sudo rm -rf /opt/riscv/buildroot/output/build df -h - - name: regression + - name: Regression run: | source setup.sh regression-wally @@ -112,7 +90,7 @@ jobs: uses: actions/upload-artifact@v4 if: always() with: - name: regression-logs-${{ env.ARTIFACT_NAME }} + name: regression-logs-${{ matrix.name }} path: ${{ github.workspace }}/sim/verilator/logs/ From 204661e286f61e8dc2f145678d1b5d61e59ad152 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 23:23:40 -0700 Subject: [PATCH 092/106] Fix github action syntax --- .github/workflows/install.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 359868b3a..e23e35d0a 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -41,7 +41,7 @@ jobs: options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash steps: - name: Install Dependencies for Red Hat - if: ${{ matrix.image }} != null + if: ${{ matrix.image != null }} run: | dnf install -y sudo git dnf install curl -y --allowerasing || true @@ -51,13 +51,13 @@ jobs: git config --global --add safe.directory '*' git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - name: Free Up Storage for Ubuntu - if: ${{ matrix.image }} == null + if: ${{ matrix.image == null }} run: | df -h ./.github/cli-space-cleanup.sh df -h - name: Free Up Storage for Red Hat - if: ${{ matrix.image }} != null + if: ${{ matrix.image != null }} run: | df -h nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" From f01a410cd50b89d97d4ea865b5ed89a14d9d490d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 23:37:18 -0700 Subject: [PATCH 093/106] Test variables --- .github/workflows/install.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index e23e35d0a..a149c9750 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -40,6 +40,11 @@ jobs: image: ${{ matrix.image }} options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash steps: + - name: Echo Variables + run: | + echo ${{ matrix.name }} + echo ${{ matrix.os }} + echo ${{ matrix.image }} - name: Install Dependencies for Red Hat if: ${{ matrix.image != null }} run: | From 53d40869478fb2fbbb12c6dc854d9a0dc290b014 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Mon, 14 Oct 2024 23:51:23 -0700 Subject: [PATCH 094/106] Combine storage clean up steps --- .github/workflows/install.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index a149c9750..0956ef23b 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -40,11 +40,6 @@ jobs: image: ${{ matrix.image }} options: --privileged --mount type=bind,source=/,target=/host --pid=host --entrypoint /bin/bash steps: - - name: Echo Variables - run: | - echo ${{ matrix.name }} - echo ${{ matrix.os }} - echo ${{ matrix.image }} - name: Install Dependencies for Red Hat if: ${{ matrix.image != null }} run: | @@ -55,17 +50,14 @@ jobs: run: | git config --global --add safe.directory '*' git submodule update --init addins/riscv-arch-test addins/verilog-ethernet - - name: Free Up Storage for Ubuntu - if: ${{ matrix.image == null }} + - name: Free Up Storage run: | df -h - ./.github/cli-space-cleanup.sh - df -h - - name: Free Up Storage for Red Hat - if: ${{ matrix.image != null }} - run: | - df -h - nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" + if [ -z ${{ matrix.image }} ]; then + ./.github/cli-space-cleanup.sh + else + nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" + fi df -h - name: Install run: sudo ./bin/wally-tool-chain-install.sh --clean From 10f0e5eeeecac5336024ebdfcef35934b4f85a4d Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 00:11:09 -0700 Subject: [PATCH 095/106] 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/ From 43b2737a0357eacf30f6210dd1ed417102b8c9c8 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 00:29:05 -0700 Subject: [PATCH 096/106] Fix typo --- .github/workflows/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 9441215a8..0b462ab9e 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -75,7 +75,7 @@ jobs: 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 }} + ./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }} fi - name: Set Environment Variables run: | From 8fea89ac8758cce7655821d5c8ce7a277ffc2cc9 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 19:30:05 -0700 Subject: [PATCH 097/106] Fix installation log path --- .github/workflows/install.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 0b462ab9e..13ebaadc4 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -89,7 +89,7 @@ jobs: if: always() with: name: installation-logs-${{ matrix.name }} - path: $RISCV/logs/ + path: ${{ env.RISCV }}/logs/ - name: make tests run: | source setup.sh From 58b4ecc211e0fa9c8c37eb0c0262721c4bdc7494 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 19:30:44 -0700 Subject: [PATCH 098/106] Skip regression for ubuntu 20.04 and red hat 8 because of broken verilator --- .github/workflows/install.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 13ebaadc4..62faca3dd 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -99,6 +99,7 @@ jobs: sudo rm -rf $RISCV/buildroot/output/build df -h - name: Regression + if: ${{ matrix.name != 'ubuntu-20.04' && matrix.name != 'rocky-8' && matrix.name != 'almalinux-8'}} run: | source setup.sh regression-wally From 771ed52c951774bc895a40c164c3b139c3c30bcd Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 19:48:24 -0700 Subject: [PATCH 099/106] Add schedule to run weekly --- .github/workflows/install.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 62faca3dd..9c7f31a58 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -1,9 +1,12 @@ name: Installation -on: [workflow_dispatch, push] +on: + workflow_dispatch: + push: + schedule: + - cron: "0 0 * * 3" # Run at 12:00 AM on Wednesdays defaults: run: shell: bash - jobs: installation_test: name: Test installation for ${{ matrix.name }} From bad3c7ab2efe700890d071e78ff8ec60f202deec Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 20:27:44 -0700 Subject: [PATCH 100/106] Only run installation test workflow for PRs that edit the installation scripts --- .github/workflows/install.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index 9c7f31a58..d93cd7811 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -1,7 +1,13 @@ name: Installation on: workflow_dispatch: - push: + pull_request: + branches: + - main + paths: + - 'bin/wally-tool-chain-install.sh' + - 'bin/wally-distro-check.sh' + - 'wally-package-install.sh' schedule: - cron: "0 0 * * 3" # Run at 12:00 AM on Wednesdays defaults: From b0bc463c65bd2906e421e8aa69f783ec82a59433 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 21:05:35 -0700 Subject: [PATCH 101/106] Update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6aacdec2e..6afe74a2a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ *.list # General directories to ignore +!.github/ .vscode/ __pycache__/ **/work* From af2edac7be4cd2ca400ff91f65fe65121b3e19f0 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 21:06:39 -0700 Subject: [PATCH 102/106] Update gitignore for real --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6afe74a2a..114d669ef 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ *.list # General directories to ignore -!.github/ +!.github/workflows/* .vscode/ __pycache__/ **/work* From ba243c8dbe82cfa21aa3232a9b4a58ff21e6b3c4 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 21:07:17 -0700 Subject: [PATCH 103/106] Try updating gitignore again --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 114d669ef..f09faa3c0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,10 +14,10 @@ *.list # General directories to ignore -!.github/workflows/* .vscode/ __pycache__/ **/work* +!.github/workflows/* /**/obj_dir* /**/gmon* From 7de44871ef7744a8529803843462d925f7535688 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 21:08:03 -0700 Subject: [PATCH 104/106] Finally got gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f09faa3c0..31db4f885 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ .vscode/ __pycache__/ **/work* -!.github/workflows/* +!.github/* /**/obj_dir* /**/gmon* From b4447b393c3cf8fb20e1d4fe78e0ed334857d888 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 21:08:18 -0700 Subject: [PATCH 105/106] Add header to install.yml --- .github/workflows/install.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index d93cd7811..e761fd2a3 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -1,3 +1,12 @@ +################################## +# install.yml +# jcarlin@hmc.edu October 2024 +# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 +# +# GitHub Action to test the wally-tool-chain-install.sh script for all supported linux distributions +# and configurations. Runs weekly and on pull requests that modify the installation scripts. +################################## + name: Installation on: workflow_dispatch: From ffee13625b3b2ae0da3de7ea25084ed6fc8e5873 Mon Sep 17 00:00:00 2001 From: Jordan Carlin Date: Tue, 15 Oct 2024 21:16:21 -0700 Subject: [PATCH 106/106] Add comments --- .github/workflows/install.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index e761fd2a3..c0e1d6506 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -8,6 +8,8 @@ ################################## name: Installation + +# Run on PR that modifies the installation scripts, weekly, or manually on: workflow_dispatch: pull_request: @@ -19,9 +21,12 @@ on: - 'wally-package-install.sh' schedule: - cron: "0 0 * * 3" # Run at 12:00 AM on Wednesdays + +# Use bash shell with extra GitHub Actions options for all jobs defaults: run: shell: bash + jobs: installation_test: name: Test installation for ${{ matrix.name }} @@ -63,21 +68,26 @@ jobs: image: null riscv_path: /home/riscv + # run on selected version of ubuntu or on ubuntu-latest with docker image runs-on: ${{ matrix.os }} container: 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: + # Docker images need git installed or the checkout action fails - name: Install Dependencies for Red Hat if: ${{ matrix.image != null }} run: | dnf install -y sudo git dnf install curl -y --allowerasing || true + # Only clone submodules needed for standard tests/regression to save space - 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 + # Free up space on the host machine, either from the container or the host - name: Free Up Storage run: | df -h @@ -87,6 +97,7 @@ jobs: nsenter -t 1 -m -u -n -i bash -c "$(cat .github/cli-space-cleanup.sh)" fi df -h + # Run main tool chain installation script, either as a user or system wide - name: Install run: | if [ -z ${{ matrix.user }} ]; then @@ -95,6 +106,7 @@ jobs: sudo ./bin/wally-package-install.sh ./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }} fi + # Set environment variables for the rest of the job - name: Set Environment Variables run: | if [ ! -z ${{ matrix.riscv_path }} ]; then @@ -102,25 +114,30 @@ jobs: fi source setup.sh echo "RISCV=$RISCV" >> "$GITHUB_ENV" + # Upload installation logs for debugging - name: Upload Installation Logs uses: actions/upload-artifact@v4 if: always() with: name: installation-logs-${{ matrix.name }} path: ${{ env.RISCV }}/logs/ + # Make riscof only as that is the only testsuite used by standard regression - name: make tests run: | source setup.sh 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 run: | sudo rm -rf $RISCV/buildroot/output/build df -h + # Run standard regression, skipping distros that are known to be broken with Verilator - name: Regression if: ${{ matrix.name != 'ubuntu-20.04' && matrix.name != 'rocky-8' && matrix.name != 'almalinux-8'}} run: | source setup.sh regression-wally + # Upload regression logs for debugging - name: Upload regression logs uses: actions/upload-artifact@v4 if: always()