From 08f1e0cd33812f9d972dd7c59021443a8d02d0e0 Mon Sep 17 00:00:00 2001 From: Kirill Isakov Date: Fri, 25 Mar 2022 18:16:17 +0600 Subject: [PATCH] GitHub CI: add MSVC jobs --- .ci/windows/build.cmd | 8 ++++++++ .ci/windows/test.cmd | 24 ++++++++++++++++++++++ .github/workflows/test.yml | 42 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 .ci/windows/build.cmd create mode 100644 .ci/windows/test.cmd diff --git a/.ci/windows/build.cmd b/.ci/windows/build.cmd new file mode 100644 index 00000000..6cafcac7 --- /dev/null +++ b/.ci/windows/build.cmd @@ -0,0 +1,8 @@ +set crypto=%1 +set builddir=%crypto% + +echo configure build directory +meson setup %builddir% -Dbuildtype=release -Dcrypto=%crypto% || exit 1 + +echo build project +meson compile -C %builddir% || exit 1 diff --git a/.ci/windows/test.cmd b/.ci/windows/test.cmd new file mode 100644 index 00000000..042740aa --- /dev/null +++ b/.ci/windows/test.cmd @@ -0,0 +1,24 @@ +set builddir=%1 +set data=%builddir%\test-data +set tinc=%builddir%\src\tinc +set tincd=%tinc%d + +mkdir %data% || exit 1 + +echo can tinc run at all? +%tinc% --version || exit 1 + +echo try to initialize a node +%tinc% -c %data% -b init foo || exit 1 + +echo try to generate EC keys +%tinc% -c %data% -b generate-ed25519-keys || exit 1 + +echo can tincd run? +%tincd% --version || exit 1 + +echo bail out if we're missing support for the legacy protocol +%tinc% --version | findstr legacy_protocol || exit 0 + +echo try to generate RSA keys +%tinc% -c %data% -b generate-keys || exit 1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0dd0de22..27f364b0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -214,7 +214,7 @@ jobs: runs-on: ubuntu-latest needs: - linux - - windows + - mingw steps: - name: Create artifact directory @@ -272,7 +272,7 @@ jobs: path: /tmp/logs/tests.*.tar.gz if: always() - windows: + mingw: runs-on: windows-latest timeout-minutes: 30 @@ -332,3 +332,41 @@ jobs: name: tests_windows path: /tmp/logs/tests.*.tar.gz if: always() + + msvc: + runs-on: windows-latest + timeout-minutes: 30 + + strategy: + fail-fast: false + matrix: + arch: + - amd64 + - amd64_x86 + + steps: + - name: Install meson + run: pip3 install meson + + - name: Checkout code + uses: actions/checkout@v1 + + - name: Activate dev environment + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: ${{ matrix.arch }} + + - name: Build (nolegacy) + run: .ci\windows\build.cmd nolegacy + + - name: Test (nolegacy) + run: .ci\windows\test.cmd nolegacy + if: always() + + - name: Build (OpenSSL) + run: .ci\windows\build.cmd openssl + if: always() + + - name: Test (OpenSSL) + run: .ci\windows\test.cmd openssl + if: always() -- 2.20.1