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