Skip to content

Verify

Verify #106

Workflow file for this run

name: Verify
on:
schedule:
- cron: "0 17 * * *"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
group: verify-${{ github.ref }}
cancel-in-progress: true
jobs:
test-all-features:
name: verify functionality of rattan
strategy:
max-parallel: 1 # Avoid resource contention
fail-fast: false
matrix:
kernel: [ 5.4, 5.15, 6.8, 6.9 ]
runs-on: ${{ matrix.kernel }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
- run: sudo apt-get update && sudo apt-get install -y iproute2 ethtool iputils-ping iperf3 datamash bc pkg-config m4 libelf-dev libpcap-dev gcc-multilib -y
- run: |
sudo tee /etc/apt/sources.list.d/llvm.list <<EOF
deb http://apt.llvm.org/$(lsb_release -s -c)/ llvm-toolchain-$(lsb_release -s -c)-17 main
deb-src http://apt.llvm.org/$(lsb_release -s -c)/ llvm-toolchain-$(lsb_release -s -c)-17 main
EOF
- run: wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
- run: sudo apt-get update && sudo apt-get install libllvm17 llvm-17 llvm-17-runtime clang-17 clang-tools-17 libclang-common-17-dev libclang-17-dev libclang1-17 -y
- run: sudo ln -sf /usr/bin/clang-17 /usr/bin/clang && sudo ln -sf /usr/bin/llc-17 /usr/bin/llc
- run: sudo ./scripts/clean_stdenv.sh -a
- name: Performance verification
run: |
/bin/bash ./ci/scripts/verify.sh
cd ./ci/scripts/ && tar -czf cache/verify_log.tar.gz cache/*.log
- name: Archive verification results
uses: actions/upload-artifact@v4
with:
name: verification_${{ matrix.kernel }}
path: |
ci/scripts/cache/verify.html
ci/scripts/cache/verify_log.tar.gz