From ea9884745777b84bc59bc211e5ac2b65d7aa254a Mon Sep 17 00:00:00 2001 From: Vitaly Chikunov Date: Thu, 2 Dec 2021 03:38:27 +0300 Subject: [PATCH] CI: Build and test on Windows (MSVC) Uses actions/cache to speed up engine rebuilds. Signed-off-by: Vitaly Chikunov --- .editorconfig | 4 +++ .github/workflows/windows.yml | 48 +++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 .github/workflows/windows.yml diff --git a/.editorconfig b/.editorconfig index 22d449b..cde16c3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -15,6 +15,10 @@ indent_style = space indent_size = 2 indent_style = space +[*.yml] +indent_size = 4 +indent_style = space + [COMMIT_EDITMSG] indent_size = 2 indent_style = space diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..78b724c --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,48 @@ +name: CI (windows) +on: [push, pull_request] + +jobs: + msvc-openssl: + runs-on: windows-latest + outputs: + openssl-head: ${{ steps.openssl.outputs.head }} + steps: + - uses: actions/checkout@v2 + with: + repository: openssl/openssl + fetch-depth: 0 + - run: echo "::set-output name=head::$(git describe --always --long)" + id: openssl + - uses: actions/cache@v2 + id: cache + with: + path: _dest + key: ${{ runner.os }}-openssl-${{ steps.openssl.outputs.head }} + - uses: ilammy/msvc-dev-cmd@v1 + - name: Build OpenSSL + if: steps.cache.outputs.cache-hit != 'true' + run: | + perl Configure no-makedepend no-tests no-asm + perl configdata.pm --dump + nmake /S build_libs build_programs + nmake /S install_sw DESTDIR=_dest + + msvc-engine: + needs: msvc-openssl + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - uses: actions/cache@v2 + with: + path: _dest + key: ${{ runner.os }}-openssl-${{ needs.msvc-openssl.outputs.openssl-head }} + - run: cmake -DOPENSSL_ROOT_DIR="_dest\Program Files\OpenSSL" -DOPENSSL_ENGINES_DIR=bin . + - run: cmake --build . + - name: Run tests + run: | + $env:PATH = "$env:PATH;$pwd\_dest\Program Files\OpenSSL\bin" + $env:OPENSSL_ENGINES = "$pwd\bin\Debug" + $env:OPENSSL_MODULES = "$pwd\bin\Debug" + ctest -C Debug --output-on-failure -- 2.39.5