]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
CI: More complete FreeBSD build and tests
authorTerry Burton <tez@terryburton.co.uk>
Sun, 17 Jan 2021 01:15:30 +0000 (01:15 +0000)
committerAlan DeKok <aland@freeradius.org>
Sun, 17 Jan 2021 13:25:17 +0000 (08:25 -0500)
.github/workflows/ci-freebsd.yml

index 2024d15066f3c6fb0f57fb6b06f600d33c2224b3..b0e66fbe5e63c011818b5e4b9e921479d7615f5a 100644 (file)
@@ -16,18 +16,68 @@ jobs:
 
     steps:
 
+    # Checkout, but defer pulling LFS objects until we've restored the cache
     - uses: actions/checkout@v2
       with:
+        lfs: false
         path: freeradius
 
+    - name: Create LFS file list as cache key
+      run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
+      working-directory: freeradius
+
+    - name: Restore LFS cache
+      uses: actions/cache@v2
+      id: lfs-cache
+      with:
+        path: .git/lfs
+        key: freebsd-lfs-${{ hashFiles('freeradius/.lfs-assets-id') }}-v1
+
+    # Now the LFS pull will be local if we hit the cache, or remote otherwise
+    - name: Git LFS pull
+      run: git lfs pull
+      working-directory: freeradius
+
     - name: Test using a FreeBSD VirtualBox VM
       uses: vmactions/freebsd-vm@v0.0.9
       with:
         usesh: true
-        prepare: pkg install -y gmake talloc git
+        prepare: |
+          pkg install -y         \
+            curl                 \
+            cyrus-sasl           \
+            firebird25-client    \
+            freetds              \
+            git                  \
+            git-lfs              \
+            gmake                \
+            google-perftools     \
+            hiredis              \
+            json-c               \
+            libidn               \
+            libmemcached         \
+            libpcap              \
+            lua52                \
+            luajit               \
+            mysql80-client       \
+            net-snmp             \
+            openldap-client      \
+            python3              \
+            py37-pip             \
+            postgresql12-client  \
+            talloc               \
+            unixODBC
+          pip install tacacs_plus
         run: |
           freebsd-version
           cd freeradius
           ./configure
           gmake -j `sysctl -n hw.ncpu`
-          gmake test.eap
+          # Disable some tests that are currently broken on FreeBSD
+          # Failing with: talloc type issue
+          echo                   > src/lib/server/trunk_tests.mk
+          # Failing with: Failed to send packet for ID 123: udp_send failed: EINVAL: Invalid argument
+          echo 'test.radclient:' > src/tests/radclient/all.mk
+          echo 'test.digest:'    > src/tests/digest/all.mk
+          echo 'test.radmin:'    > src/tests/radmin/all.mk
+          gmake test