From 5664d659c3eaf38fc00d48a310dc579eee0835b0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 28 Feb 2023 12:15:41 +0100 Subject: [PATCH] WIP ci: cygwin (on GitHub) --- .github/workflows/cygwin.yaml | 53 +++++++++++++++++++++++++++++++++++ tests/integration/deckard | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/cygwin.yaml diff --git a/.github/workflows/cygwin.yaml b/.github/workflows/cygwin.yaml new file mode 100644 index 000000000..cf4ae724b --- /dev/null +++ b/.github/workflows/cygwin.yaml @@ -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 diff --git a/tests/integration/deckard b/tests/integration/deckard index 9ec599251..2c0b12736 160000 --- a/tests/integration/deckard +++ b/tests/integration/deckard @@ -1 +1 @@ -Subproject commit 9ec5992515f7bad376692b85030ee2ee009d6877 +Subproject commit 2c0b12736fd1224174e0449954a43f8f11f6d02d -- 2.47.2