diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 893bc0d..f7b176e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: build_runs_on: ["ubuntu-24.04"] arch: ["x86_64"] kernel_compiler: ["gcc", "llvm"] - gcc_version: [14] + gcc_version: [15] llvm_version: [20] kernel: ["LATEST"] build_release: [false] diff --git a/ci/vmtest/configs/DENYLIST b/ci/vmtest/configs/DENYLIST index 20a0902..d24c405 100644 --- a/ci/vmtest/configs/DENYLIST +++ b/ci/vmtest/configs/DENYLIST @@ -15,3 +15,4 @@ connect_force_port # unreliably fails sockmap_ktls/sockmap_ktls disconnect_after_delete* # https://lore.kernel.org/bpf/20250415163332.1836826-1-ihor.solodrai@linux.dev/ verif_scale_pyperf600 # llvm 20 generates code that fails verification arena_spin_lock # llvm 20 generates code that fails verification +perf_branches/perf_branches_no_hw # this fails on github-hosted runners diff --git a/ci/vmtest/configs/DENYLIST.test_progs-no_alu32 b/ci/vmtest/configs/DENYLIST.test_progs-no_alu32 deleted file mode 100644 index 6213899..0000000 --- a/ci/vmtest/configs/DENYLIST.test_progs-no_alu32 +++ /dev/null @@ -1 +0,0 @@ -perf_branches/perf_branches_no_hw # this fails on github-hosted runners diff --git a/setup-build-env/action.sh b/setup-build-env/action.sh new file mode 100755 index 0000000..6a98f67 --- /dev/null +++ b/setup-build-env/action.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -x -euo pipefail + +export GITHUB_ACTION_PATH=${GITHUB_ACTION_PATH:-$(pwd)} + +export PAHOLE_BRANCH=${PAHOLE_BRANCH:-master} +export PAHOLE_ORIGIN=${PAHOLE_ORIGIN:-https://git.kernel.org/pub/scm/devel/pahole/pahole.git} +export GCC_VERSION=${GCC_VERSION:-15} +export LLVM_VERSION=${LLVM_VERSION:-20} +export TARGET_ARCH=${TARGET_ARCH:-$(uname -m)} + +# gcc >= 15 is not available in Ubuntu 24 +# use this variable to set up alternative apt repositories +export UBUNTU_CODENAME_OVERRIDE=plucky # Ubuntu 25.04 with GCC 15.0.1 + +${GITHUB_ACTION_PATH}/install_packages.sh +${GITHUB_ACTION_PATH}/install_clang.sh +${GITHUB_ACTION_PATH}/build_pahole.sh + +${GITHUB_ACTION_PATH}/install_cross_compilation_toolchain.sh $TARGET_ARCH diff --git a/setup-build-env/action.yml b/setup-build-env/action.yml index 95a777e..1eb4068 100644 --- a/setup-build-env/action.yml +++ b/setup-build-env/action.yml @@ -26,25 +26,10 @@ runs: shell: bash env: GCC_VERSION: ${{ inputs.gcc-version }} - run: | - ${GITHUB_ACTION_PATH}/install_packages.sh - - name: Install clang - shell: bash - env: LLVM_VERSION: ${{ inputs.llvm-version }} - run: | - ${GITHUB_ACTION_PATH}/install_clang.sh - - name: Install pahole - shell: bash - env: PAHOLE_BRANCH: ${{ inputs.pahole }} PAHOLE_ORIGIN: ${{ inputs.pahole-origin }} + TARGET_ARCH: ${{ inputs.arch }} run: | - ${GITHUB_ACTION_PATH}/build_pahole.sh + ${GITHUB_ACTION_PATH}/action.sh echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}:/usr/local/lib" >> $GITHUB_ENV - - name: Install cross compilation toolchain - shell: bash - env: - GCC_VERSION: ${{ inputs.gcc-version }} - run: | - ${GITHUB_ACTION_PATH}/install_cross_compilation_toolchain.sh ${{ inputs.arch }} diff --git a/setup-build-env/install_cross_compilation_toolchain.sh b/setup-build-env/install_cross_compilation_toolchain.sh index 1394f72..17b2e07 100755 --- a/setup-build-env/install_cross_compilation_toolchain.sh +++ b/setup-build-env/install_cross_compilation_toolchain.sh @@ -19,24 +19,19 @@ source /etc/os-release DEB_ARCH="$(platform_to_deb_arch "${TARGET_ARCH}")" DEB_HOST_ARCH="$(dpkg --print-architecture)" -UBUNTU_CODENAME=${VERSION_CODENAME:-noble} GCC_VERSION=${GCC_VERSION:-14} +UBUNTU_CODENAME=${UBUNTU_CODENAME:-noble} -cat <