Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump addins/FreeRTOS-Kernel from 17a46c2 to 5588ae6 #10

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
779e645
Create dependabot.yml
jordancarlin Jul 3, 2024
d648474
Update dependabot.yml
jordancarlin Jul 3, 2024
5a1a0ef
Update dependabot.yml
jordancarlin Jul 3, 2024
0378212
Update dependabot.yml
jordancarlin Jul 3, 2024
9dd279a
Test installation regression GitHub action
jordancarlin Jul 5, 2024
80d262a
Update install.yml
jordancarlin Jul 5, 2024
2ad2485
Update install.yml
jordancarlin Jul 5, 2024
f48c1d9
Update install.yml
jordancarlin Jul 5, 2024
74e6cfc
Update install.yml
jordancarlin Jul 5, 2024
0bf21a8
Update install.yml
jordancarlin Jul 5, 2024
40901b9
Update install.yml
jordancarlin Jul 6, 2024
8e4217b
Update install.yml
jordancarlin Jul 6, 2024
35b8891
Update install.yml
jordancarlin Jul 6, 2024
eefc88a
Create rocky.yml
jordancarlin Jul 6, 2024
5884d07
Update rocky.yml
jordancarlin Jul 6, 2024
8e65c7d
Update rocky.yml
jordancarlin Jul 7, 2024
8eaacc9
Update rocky.yml
jordancarlin Jul 7, 2024
74d2672
Update rocky.yml
jordancarlin Jul 7, 2024
8b70fb4
Update rocky.yml
jordancarlin Jul 7, 2024
2893b90
Update rocky.yml
jordancarlin Jul 7, 2024
c7e98b3
Update rocky.yml
jordancarlin Jul 7, 2024
c03377e
Update rocky.yml
jordancarlin Jul 7, 2024
07caabd
Update rocky.yml
jordancarlin Jul 7, 2024
6b63eab
Update rocky.yml
jordancarlin Jul 7, 2024
f1fa537
More rocky testing
jordancarlin Jul 16, 2024
dbdef47
New rocky approach
jordancarlin Jul 16, 2024
9349ade
Update rocky.yml for Rocky 8 testing
jordancarlin Jul 16, 2024
3e32ab1
Update rocky.yml for Rocky 8 testing
jordancarlin Jul 16, 2024
2daf69f
Save space on rocky
jordancarlin Jul 16, 2024
b3057c7
Test all supported distros
jordancarlin Jul 16, 2024
d98209b
Add quotes
jordancarlin Jul 16, 2024
7e07421
fewer targets
jordancarlin Jul 16, 2024
55cb8b0
Continue install tests if one fails
jordancarlin Jul 16, 2024
844b687
test
jordancarlin Jul 16, 2024
45d7696
Update test
jordancarlin Jul 16, 2024
3304998
update test
jordancarlin Jul 16, 2024
d86e103
Run make and regression-wally in installation test
jordancarlin Jul 16, 2024
93e38dd
Checkout submodules in install test action
jordancarlin Jul 16, 2024
9269b09
add test
jordancarlin Jul 16, 2024
4134daa
install git in redhat docker test
jordancarlin Jul 16, 2024
ca7ad33
update test
jordancarlin Jul 16, 2024
265934c
Update test.yml
jordancarlin Jul 17, 2024
7cd2db6
Update test.yml
jordancarlin Jul 17, 2024
fad82ec
Create cli-space-cleanup.sh
jordancarlin Jul 17, 2024
608d7a5
Update test.yml
jordancarlin Jul 17, 2024
68d6e8d
make cli-space-cleanup executable
jordancarlin Jul 17, 2024
4e8b2d1
Update test.yml
jordancarlin Jul 17, 2024
b940ac7
Update cli-space-cleanup.sh
jordancarlin Jul 17, 2024
5c6abe4
Update test.yml
jordancarlin Jul 17, 2024
f3f29a8
Updates
jordancarlin Jul 17, 2024
d356356
Update test.yml
jordancarlin Jul 17, 2024
b6cf953
New install action
jordancarlin Jul 17, 2024
d12b00b
Fix installation workflow curl-minimal dependency
jordancarlin Jul 17, 2024
dbd849b
Updates
jordancarlin Jul 17, 2024
a072dff
Update test.yml
jordancarlin Jul 17, 2024
d7af21a
Updates
jordancarlin Jul 18, 2024
5db2669
Update shell
jordancarlin Jul 18, 2024
5956e70
Remove test.yml
jordancarlin Jul 19, 2024
1c869af
Update Makefile
jordancarlin Jul 19, 2024
a2dd070
reduce riscof jobs
jordancarlin Jul 19, 2024
0d1ab18
try 2 riscof jobs
jordancarlin Jul 20, 2024
b100850
Add clean + update checks
jordancarlin Jul 20, 2024
8632e97
updates
jordancarlin Jul 20, 2024
df6e970
try 3 riscof jobs
jordancarlin Jul 20, 2024
9a94f87
no buildroot
jordancarlin Jul 20, 2024
6a4d42f
Remove riscof debug
jordancarlin Jul 20, 2024
d1f3b00
Make all git directories safe in installation action
jordancarlin Jul 20, 2024
a382e0c
Manually run wsim
jordancarlin Jul 20, 2024
a60907f
Only build riscof tests in installation ci
jordancarlin Jul 20, 2024
73e94c7
Update install.yml
jordancarlin Jul 21, 2024
88f2adc
Update wsim to return exit value
jordancarlin Jul 21, 2024
c0dab87
Use regression-wally in install cli
jordancarlin Jul 21, 2024
d1b4b21
Increase stack and upload logs
jordancarlin Jul 21, 2024
1276b64
Update artifact upload
jordancarlin Jul 21, 2024
bbfe8d9
Save installation logs
jordancarlin Jul 23, 2024
a785955
Bump addins/FreeRTOS-Kernel from `17a46c2` to `5588ae6`
dependabot[bot] Jul 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/cli-space-cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/bin/bash
###########################################
## GitHub runner space cleanup
##
## Written: Jordan Carlin, [email protected]
## 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
sudo apt-get purge -y "$pack" || true
done
sudo apt-get autoremove -y || true
sudo apt-get clean || true

# Remove unnecessary directories
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/firefox
sudo rm -rf /opt/hostedtoolcache

# Clean up docker images
sudo docker image prune --all --force
13 changes: 13 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "gitsubmodule"
directory: "/"
schedule:
interval: "daily"
time: "21:17"
timezone: "America/Los_Angeles"
94 changes: 94 additions & 0 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Installation
on: [workflow_dispatch, push]
defaults:
run:
shell: bash

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", "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
- name: install
run: sudo ./bin/wally-tool-chain-install.sh --clean
- name: make tests
run: |
source setup.sh
make riscof
- name: regresssion
run: |
source setup.sh
regression-wally
- 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 }}
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
with:
submodules: recursive
- name: Fix git ownership
run: git config --global --add safe.directory '*'
- name: Free up storage
run: |
df -h
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
- name: make tests
run: |
source setup.sh
make riscof
- name: regression
run: |
source setup.sh
regression-wally
- 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
if: always()
with:
name: installation-logs-${{ env.ARTIFACT_NAME }}
path: /opt/riscv/logs/
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
**/work*
!.github/*
**/wally_*.log
/**/obj_dir*
/**/gmon*
Expand Down
2 changes: 1 addition & 1 deletion addins/FreeRTOS-Kernel
Submodule FreeRTOS-Kernel updated 743 files
4 changes: 2 additions & 2 deletions bin/regression-wally
Original file line number Diff line number Diff line change
Expand Up @@ -363,8 +363,8 @@ if (ccov): # only run RV64GC tests on Questa in code coverage mode
addTests(tests64gc_fp, "questa")
else:
for sim in sims:
if (not (buildroot and sim == defaultsim)): # skip shot buildroot sim if running long one
addTests(tests_buildrootshort, sim)
# if (not (buildroot and sim == defaultsim)): # skip shot buildroot sim if running long one
# addTests(tests_buildrootshort, sim)
addTests(tests, sim)
addTests(tests64gc_nofp, sim)
addTests(tests64gc_fp, sim)
Expand Down
13 changes: 7 additions & 6 deletions bin/wally-tool-chain-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ ENDC='\033[0m' # Reset to default color

# 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}"
exit 1
Expand All @@ -66,7 +67,7 @@ git_check() {
fi
}

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

Expand Down Expand Up @@ -397,8 +398,8 @@ section_header "Downloading Site Setup Script"
STATUS="site-setup scripts"
cd "$RISCV"
if [ ! -e "${RISCV}"/site-setup.sh ]; then
wget https://raw.githubusercontent.com/openhwgroup/cvw/main/site-setup.sh
wget https://raw.githubusercontent.com/openhwgroup/cvw/main/site-setup.csh
wget https://raw.githubusercontent.com/jordancarlin/cvw/main/site-setup.sh
wget https://raw.githubusercontent.com/jordancarlin/cvw/main/site-setup.csh
# Add necessary lines to site-setup script to activate newer version of gcc for older distros
if [ "$FAMILY" == rhel ]; then
echo "# Activate newer gcc version" >> site-setup.sh
Expand All @@ -415,8 +416,8 @@ else
echo -e "You may need to manually update it if there were changes upstream.${ENDC}"
fi

if [ "$clean" ]; then
rm -rf "$RISCV"/logs
fi
# if [ "$clean" ]; then
# rm -rf "$RISCV"/logs
# fi

echo -e "${SUCCESS_COLOR}${BOLD}\n\nINSTALLATION SUCCESSFUL\n\n${ENDC}"
9 changes: 6 additions & 3 deletions bin/wsim
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,11 @@ if (args.sim == "questa"):
else: # launch Questa in batch mode
cmd = cd + "; " + prefix + " vsim -c -do \"" + cmd + "\""
print("Running Questa with command: " + cmd)
os.system(cmd)
exitCode = os.system(cmd)
elif (args.sim == "verilator"):
# PWD=${WALLY}/sim CONFIG=rv64gc TESTSUITE=arch64i
print(f"Running Verilator on {args.config} {args.testsuite}")
os.system(f"/usr/bin/make -C {regressionDir}/verilator WALLYCONF={args.config} TEST={args.testsuite} TESTBENCH={args.tb} EXTRA_ARGS='{args.args}'")
exitCode = os.system(f"/usr/bin/make -C {regressionDir}/verilator WALLYCONF={args.config} TEST={args.testsuite} TESTBENCH={args.tb} EXTRA_ARGS='{args.args}'")
elif (args.sim == "vcs"):
print(f"Running VCS on " + args.config + " " + args.testsuite)
if (args.gui):
Expand All @@ -133,4 +133,7 @@ elif (args.sim == "vcs"):
ElfFile = " --elffile " + ElfFile
cmd = cd + "; " + prefix + " ./run_vcs " + args.config + " " + args.testsuite + vcsargs + ElfFile + " " + flags
print(cmd)
os.system(cmd)
exitCode = os.system(cmd)

# Exit with non-zero code if simulation failed
exit(exitCode)
3 changes: 2 additions & 1 deletion site-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ export RISCV_OBJCOPY=$(which riscv64-unknown-elf-objcopy) # Copy this as
export SPIKE_PATH=$RISCV/bin # Change this for your path to riscv-isa-sim (spike)

# Verilator needs a larger stack to simulate CORE-V Wally
ulimit -c 300000
ulimit -c unlimited
ulimit -s unlimited

# Imperas OVPsim; put this in if you are using it
#export PATH=$RISCV/imperas-riscv-tests/riscv-ovpsim-plus/bin/Linux64:$PATH
Expand Down
4 changes: 2 additions & 2 deletions tests/riscof/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ ispec={0}/spike/spike_rv{1}_isa.yaml
pspec={0}/spike/spike_platform.yaml
target_run=1
# Optional as mentioned in https://riscof.readthedocs.io/en/latest/inputs.html#config-ini-syntax
jobs=4
jobs=3

[sail_cSim]
pluginpath={0}/sail_cSim
jobs=4
jobs=3
Loading