]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
WIP ci: cygwin (on GitHub) cygwin-ci
authorVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 28 Feb 2023 11:15:41 +0000 (12:15 +0100)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Thu, 2 Mar 2023 10:13:08 +0000 (11:13 +0100)
.github/workflows/cygwin.yaml [new file with mode: 0644]
tests/integration/deckard

diff --git a/.github/workflows/cygwin.yaml b/.github/workflows/cygwin.yaml
new file mode 100644 (file)
index 0000000..cf4ae72
--- /dev/null
@@ -0,0 +1,53 @@
+
+name: Cygwin
+
+on: push
+
+jobs:
+  build-test:
+    name: Build Knot Resolver (and Knot DNS libs, all Cygwin)
+    runs-on: windows-latest
+
+    steps:
+      - name: git - avoid converting EOL breaks (i.e. keep the UNIX style)
+        run: git config --global core.autocrlf input
+      - name: Cygwin - set up and pull dependencies
+        uses: cygwin/cygwin-install-action@master
+        with:
+            packages: \
+              bash autoconf automake m4 libtool pkg-config make gcc-core gnutls-devel liblmdb-devel \
+              meson gcc-g++ libuv-devel luajit-devel
+
+      - name: knot-dns - install libraries (also download sources and build)
+        shell: C:\cygwin\bin\bash.exe --login --norc -e -o igncr '{0}'
+        run: |
+          git clone -b 3.2 --depth 1 https://github.com/CZ-NIC/knot.git
+          cd knot
+          env SHELLOPTS=igncr ./autogen.sh
+          env SHELLOPTS=igncr ./configure --disable-static --disable-fastparser --disable-documentation --disable-daemon --disable-utilities || (cat config.log && exit 1)
+          make -j$(nproc) install
+          cd ..
+
+      - name: knot-resolver - get sources
+        uses: actions/checkout@v3
+        with:
+          submodules: recursive
+      - name: knot-resolver - install from sources
+        shell: C:\cygwin\bin\bash.exe --login --norc -e -o igncr '{0}'
+        run: |
+          cd $GITHUB_WORKSPACE
+          export PKG_CONFIG_PATH+=:/usr/local/lib/pkgconfig # to find knot-dns libs
+          export CC=cc CXX=c++ # trying `ccache cc` otherwise which somehow doesn't work
+          meson setup build_dir --default-library=static --errorlogs || cat build_dir/meson-logs/meson-log.txt
+          ninja -C build_dir
+          ninja -C build_dir install
+
+      - name: Artifacts - remove unneeded files
+        shell: C:\cygwin\bin\bash.exe --login --norc -e -o igncr '{0}'
+        run: |
+          rm -r /usr/local/include/ /usr/local/lib/pkgconfig/
+          find /usr/local -name '*.a' -delete
+      - name: Artifacts - upload
+        uses: actions/upload-artifact@v3
+        with:
+          path: C:\cygwin\usr\local
index 9ec5992515f7bad376692b85030ee2ee009d6877..2c0b12736fd1224174e0449954a43f8f11f6d02d 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 9ec5992515f7bad376692b85030ee2ee009d6877
+Subproject commit 2c0b12736fd1224174e0449954a43f8f11f6d02d