]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Update .deb CI to use NR repos where required
authorMatthew Newton <matthew-git@newtoncomputing.co.uk>
Wed, 23 Jun 2021 17:48:18 +0000 (18:48 +0100)
committerMatthew Newton <matthew-git@newtoncomputing.co.uk>
Wed, 23 Jun 2021 21:31:41 +0000 (22:31 +0100)
.github/workflows/ci-deb.yml

index b5541095565965ed05fdfc03e819dd7fb4de702c..2dbd809131bc6a9175c2210bae9abb26239b15c5 100644 (file)
@@ -31,11 +31,11 @@ jobs:
           M=$(cat <<EOF
           {
             "env": [
-              { "NAME": "ubuntu-18.04", "OS": "ubuntu:18.04"   },
-              { "NAME": "ubuntu-20.04", "OS": "ubuntu:20.04"   },
-              { "NAME": "debian-9",     "OS": "debian:stretch" },
-              { "NAME": "debian-10",    "OS": "debian:buster"  },
-              { "NAME": "debian-sid",   "OS": "debian:sid"     }
+              { "NAME": "ubuntu-18.04", "OS": "ubuntu:18.04",   "DIST": "ubuntu", "CODENAME": "bionic",  "NR_KQ": "1", "NR_JSONC": "1" },
+              { "NAME": "ubuntu-20.04", "OS": "ubuntu:20.04",   "DIST": "ubuntu", "CODENAME": "focal",   "NR_KQ": "1", "NR_JSONC": ""  },
+              { "NAME": "debian-9",     "OS": "debian:stretch", "DIST": "debian", "CODENAME": "stretch", "NR_KQ": "1", "NR_JSONC": "1" },
+              { "NAME": "debian-10",    "OS": "debian:buster",  "DIST": "debian", "CODENAME": "buster",  "NR_KQ": "1", "NR_JSONC": "1" },
+              { "NAME": "debian-sid",   "OS": "debian:sid",     "DIST": "debian", "CODENAME": "sid",     "NR_KQ": "",  "NR_JSONC": ""  }
             ]
           }
         EOF
@@ -44,7 +44,7 @@ jobs:
           M=$(cat <<EOF
           {
             "env": [
-              { "NAME": "debian-sid",   "OS": "debian:sid"     }
+              { "NAME": "debian-sid",   "OS": "debian:sid",     "DIST": "debian", "CODENAME": "sid",     "NR_KQ": "",  "NR_JSONC": ""  }
             ]
           }
         EOF
@@ -70,10 +70,6 @@ jobs:
     env:
       HOSTAPD_BUILD_DIR: /tmp/eapol_test.ci
       HOSTAPD_GIT_TAG: hostap_2_8
-      CMAKE_SH_PATH: /tmp/cmake
-      CMAKE_SH_FILE: cmake-3.8.2-Linux-x86_64.sh
-      CMAKE_SH_URL: "https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh"
-      CMAKE_SH_SHA: bb26b1871f9e5c2fb73476186cc94d03b674608f704b48b94d617340b87b4d73
 
     name: "DEB build"
 
@@ -95,36 +91,27 @@ jobs:
       run: |
         apt-get install -y --no-install-recommends git-core ca-certificates
 
-    - uses: actions/checkout@v2
-      with:
-        repository: mheily/libkqueue
-        path: libkqueue
-
     - name: Install build tools
       run: |
-        apt-get install -y --no-install-recommends make gcc libc6-dev equivs file curl
+        apt-get install -y --no-install-recommends make gcc libc6-dev equivs file curl gnupg2
 
-    - name: Restore cmake download from cache
-      uses: actions/cache@v2
-      id: cmake-cache
-      with:
-        path: ${{ env.CMAKE_SH_PATH }}
-        key: ${{ env.CMAKE_SH_FILE }}-v1
+    - name: NetworkRADIUS signing key
+      run: curl -sS "https://packages.networkradius.com/pgp/packages%40networkradius.com" | apt-key add
 
-    - name: Download and install cmake
+    - name: NetworkRADIUS libkqueue repository
+      if: ${{ matrix.env.NR_KQ == '1' }}
       run: |
-        mkdir -p "$CMAKE_SH_PATH"
-        [ -e "$CMAKE_SH_PATH/$CMAKE_SH_FILE" ] || curl -f -o "$CMAKE_SH_PATH/$CMAKE_SH_FILE" "$CMAKE_SH_URL"
-        [ "$(cat $CMAKE_SH_PATH/$CMAKE_SH_FILE | openssl sha256 | sed 's/^.* //')" = "$CMAKE_SH_SHA" ]
-        sh "$CMAKE_SH_PATH/$CMAKE_SH_FILE" --skip-license --prefix=/usr/local
+        echo "deb http://packages.networkradius.com/libkqueue/${{ matrix.env.DIST }}/${{ matrix.env.CODENAME }} ${{ matrix.env.CODENAME }} main" \
+          >> /etc/apt/sources.list.d/networkradius.list
 
-    - name: Build libkqueue
+    - name: NetworkRADIUS libkqueue repository
+      if: ${{ matrix.env.NR_JSONC == '1' }}
       run: |
-        cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib ./
-        make
-        cpack -G DEB
-        dpkg -i --force-all ./libkqueue*.deb
-      working-directory: libkqueue
+        echo "deb http://packages.networkradius.com/json-c/${{ matrix.env.DIST }}/${{ matrix.env.CODENAME }} ${{ matrix.env.CODENAME }} main" \
+          >> /etc/apt/sources.list.d/networkradius.list
+
+    - name: Update apt repository lists
+      run: apt-get update
 
     - uses: actions/checkout@v2
       with:
@@ -145,7 +132,6 @@ jobs:
     - name: Collect DEBs
       run: |
         mkdir debs
-        mv libkqueue/*.deb debs
         mv *.deb debs
 
     - name: Restore eapol_test build directory from cache
@@ -226,10 +212,29 @@ jobs:
         echo 'man-db man-db/auto-update boolean false' | debconf-set-selections
         apt-get update
 
-    # For pkill
-    - name: Install procps
+    # procps for pkill, curl+gnupg2 for apt-key, ca-certificates for curl
+    - name: Install system utilities
       run: |
-        apt-get install -y --no-install-recommends procps
+        apt-get install -y --no-install-recommends procps curl gnupg2 ca-certificates
+
+    - name: NetworkRADIUS signing key
+      run: |
+        curl -sS "https://packages.networkradius.com/pgp/packages%40networkradius.com" | apt-key add
+
+    - name: NetworkRADIUS libkqueue repository
+      if: ${{ matrix.env.NR_KQ == '1' }}
+      run: |
+        echo "deb http://packages.networkradius.com/libkqueue/${{ matrix.env.DIST }}/${{ matrix.env.CODENAME }} ${{ matrix.env.CODENAME }} main" \
+          >> /etc/apt/sources.list.d/networkradius.list
+
+    - name: NetworkRADIUS libkqueue repository
+      if: ${{ matrix.env.NR_JSONC == '1' }}
+      run: |
+        echo "deb http://packages.networkradius.com/json-c/${{ matrix.env.DIST }}/${{ matrix.env.CODENAME }} ${{ matrix.env.CODENAME }} main" \
+          >> /etc/apt/sources.list.d/networkradius.list
+
+    - name: Update apt repository lists
+      run: apt-get update
 
     - name: Install DEBs
       run: |