From 0c7525520309c55c351c98ccb3cbc03c014b469d Mon Sep 17 00:00:00 2001 From: Jerzy Jamroz Date: Wed, 13 Nov 2024 11:37:41 +0100 Subject: [PATCH] refactor: More universal handling of KSER and KVER. --- .github/workflows/linux-build-latest.yml | 71 ------------------------ .github/workflows/linux-build.yml | 28 ++++++---- 2 files changed, 17 insertions(+), 82 deletions(-) delete mode 100644 .github/workflows/linux-build-latest.yml diff --git a/.github/workflows/linux-build-latest.yml b/.github/workflows/linux-build-latest.yml deleted file mode 100644 index ae626176..00000000 --- a/.github/workflows/linux-build-latest.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: Linux latest kernel module test - -on: - workflow_dispatch: - -jobs: - specific: - name: With ${{ matrix.version }} - runs-on: ${{ matrix.os }} - env: - KSER: ${{ matrix.series }} - KVER: ${{ matrix.version }} - CC: ${{ matrix.cc }} - strategy: - fail-fast: false - matrix: - include: - - name: Ubuntu Latest - Series Latest - os: ubuntu-latest - series: latest - version: latest - - steps: - - uses: actions/checkout@v2 - - name: Info - run: | - gcc --version - - name: Deps - run: | - sudo apt-get update - # linux-headers-* only to pull in kbuild deps - sudo apt-get -y install linux-headers-`uname -r` kmod libelf-dev - [ "${{ matrix.cc }}" != "gcc-4.8" ] || sudo apt-get -y install gcc-4.8 - - name: Setup Linux - run: | - install -d kernel - if [ "$KSER" == "latest" ]; then - KSER=$(curl -s https://cdn.kernel.org/pub/linux/kernel/ | grep -o 'v[0-9]\+\.[0-9a-zA-Z]\+/' | sed 's/\/\s*//' | sort -t. -k2,2V -k3,3V -k4,4V | tail -n 1 | sed 's/v//') - fi - if [ "$KVER" == "latest" ]; then - KVER=$(curl -s https://cdn.kernel.org/pub/linux/kernel/v$KSER/ | grep -o 'linux-[0-9]\+\.[0-9]\+\.[0-9]\+\.tar\.xz' | sort -t- -k2,2n -k3,3n -k4,4n | tail -n 1 | sed 's/linux-\(.*\)\.tar\.xz/\1/') - fi - echo "https://cdn.kernel.org/pub/linux/kernel/v$KSER/linux-$KVER.tar.xz" - curl -s https://cdn.kernel.org/pub/linux/kernel/v$KSER/linux-$KVER.tar.xz | tar -C kernel --strip-components=1 -xJ - make -C kernel CC=${CC:=gcc} defconfig - make -C kernel CC=${CC:=gcc} modules_prepare - - name: Build - run: | - KBUILD_MODPOST_WARN=1 make -C mrmShared/linux CC=${CC:=gcc} KERNELDIR="$PWD/kernel" - - host: - name: With latest Ubuntu VM host - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Info - run: | - uname -a - gcc --version - - name: Deps - run: | - sudo apt-get update - sudo apt-get -y install linux-headers-`uname -r` - - name: Build - run: make -C mrmShared/linux - - name: Install/Load - run: | - sudo make -C mrmShared/linux modules_install - sudo depmod -a - sudo modprobe mrf - sudo dmesg | tail -n 100 diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml index 4b3fdbb8..ab516f60 100644 --- a/.github/workflows/linux-build.yml +++ b/.github/workflows/linux-build.yml @@ -13,7 +13,7 @@ on: jobs: specific: - name: Kernel ${{ matrix.version }} + name: ${{ matrix.version }} runs-on: ${{ matrix.os }} env: KSER: ${{ matrix.series }} @@ -25,18 +25,23 @@ jobs: include: - name: Ubuntu 22.04 - Series 4.x os: ubuntu-22.04 - series: 4.x - version: 4.9.1 + series: v4.x + version: linux-4.9.1 - name: Ubuntu 22.04 - Series 5.x os: ubuntu-22.04 - series: 5.x - version: 5.9.6 + series: v5.x + version: linux-5.9.6 - name: Ubuntu 22.04 - Series 6.x os: ubuntu-22.04 - series: 6.x - version: 6.5.9 + series: v6.x + version: linux-6.5.9 + + - name: Ubuntu Latest - Series Latest + os: ubuntu-latest + series: latest + version: latest - name: Ubuntu 22.04 - Centos Stream 9 os: ubuntu-22.04 @@ -58,15 +63,16 @@ jobs: - name: Setup Linux Kernel if: ${{ ! matrix.kernel_url }} run: | + echo $KSER $KVER install -d kernel if [ "$KSER" == "latest" ]; then - KSER=$(curl -s https://cdn.kernel.org/pub/linux/kernel/ | grep -o 'v[0-9]\+\.[0-9a-zA-Z]\+/' | sed 's/\/\s*//' | sort -t. -k2,2V -k3,3V -k4,4V | tail -n 1 | sed 's/v//') + KSER=$(curl -s https://cdn.kernel.org/pub/linux/kernel/ | grep -o 'v[0-9]\+\.[0-9a-zA-Z]\+/' | sed 's/\/\s*//' | sort -t. -k2,2V -k3,3V -k4,4V | tail -n 1) fi if [ "$KVER" == "latest" ]; then - KVER=$(curl -s https://cdn.kernel.org/pub/linux/kernel/v$KSER/ | grep -o 'linux-[0-9]\+\.[0-9]\+\.[0-9]\+\.tar\.xz' | sort -t- -k2,2n -k3,3n -k4,4n | tail -n 1 | sed 's/linux-\(.*\)\.tar\.xz/\1/') + KVER=$(curl -s https://cdn.kernel.org/pub/linux/kernel/$KSER/ | grep -o 'linux-[0-9]\+\.[0-9]\+\.[0-9]\+\.tar\.xz' | sort -t- -k2,2n -k3,3n -k4,4n | tail -n 1 | sed 's/\.tar\.xz$//') fi - echo "https://cdn.kernel.org/pub/linux/kernel/v$KSER/linux-$KVER.tar.xz" - curl -s https://cdn.kernel.org/pub/linux/kernel/v$KSER/linux-$KVER.tar.xz | tar -C kernel --strip-components=1 -xJ + echo "https://cdn.kernel.org/pub/linux/kernel/$KSER/$KVER.tar.xz" + curl -s https://cdn.kernel.org/pub/linux/kernel/$KSER/$KVER.tar.xz | tar -C kernel --strip-components=1 -xJ make -C kernel CC=${CC:=gcc} defconfig make -C kernel CC=${CC:=gcc} modules_prepare