From 87068cc71e0e0cf8a05f3418b62890877c7b2f8f Mon Sep 17 00:00:00 2001 From: Christoph Jechlitschek Date: Mon, 23 May 2022 13:39:40 -0700 Subject: [PATCH 1/2] added daily compilation test against a few kernels --- .github/workflows/test.yml | 69 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..99d4254 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,69 @@ +name: test +on: [push, pull_request] +schedule: + - cron: '30 1 * * *' #every day at 1:30am +jobs: + test-dkms: + # ubuntu-lastest is currently still 20.04 + runs-on: ubuntu-latest + container: ubuntu:jammy + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Prepare environment + shell: bash + run: | + apt-get update --quiet; + apt-get install --yes --no-install-recommends dkms gpg-agent kmod software-properties-common sudo + + - name: Download header files + shell: bash + run: | + # latest generic kernel headers + apt install --yes linux-headers-generic + # latest oem kernel + apt install --yes linux-headers-oem-20.04 + apt install --yes linux-headers-oem-22.04 + # wip kernel headers + add-apt-repository --yes ppa:canonical-kernel-team/unstable + apt update + apt install --yes linux-headers-generic-wip + + - name: Register w/ dkms + shell: bash + run: | + dkms add . + + - name: Compile driver + shell: bash + run: | + # run dkms build and all available kernel headers + failed="" + succeeded="" + for kver in /lib/modules/*/build; do + # skip the kernel headers from the azure kernel. These kernel headers + # are preinstalled and of no interest + if [[ "$kver" == *"azure"* ]]; then + echo "Skipping $kver - This is the kernel of the github runner."; + continue; + fi; + test -d $kver || continue + kver=${kver%/build} + kver=${kver##*/} + echo "=== Testing ${kver} ==="; + echo "running: dkms build -m ivsc-driver/1.0.0 -k ${kver}"; + ret=$(dkms build -m ivsc-driver/1.0.0 -k ${kver} >&2; echo $?); + if [ ${ret} -eq 0 ]; then + succeeded="${succeeded} ${kver}" + else + echo "#### Skipped unexpected failure ${kver}"; + failed="${failed} ${kver}"; + fi; + done + if [ "x${failed}" != "x" ]; then + echo "#### Failed kernels: ${failed}"; + exit 1 + fi + echo "#### Successful builds for kernels: ${succeeded}"; + From 1be21611da334b4bf689a9d94711ebf4ff69a80c Mon Sep 17 00:00:00 2001 From: Christoph Jechlitschek Date: Mon, 23 May 2022 13:49:00 -0700 Subject: [PATCH 2/2] fixing schedule tag --- .github/workflows/test.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 99d4254..473dd4b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,7 +1,9 @@ name: test -on: [push, pull_request] -schedule: - - cron: '30 1 * * *' #every day at 1:30am +on: + push: + pull_request: + schedule: + - cron: '30 1 * * *' #every day at 1:30am jobs: test-dkms: # ubuntu-lastest is currently still 20.04