Browse code

GitHub actions: add MSVC build

Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20210615125616.344-1-lstipakov@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22556.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>

Lev Stipakov authored on 2021/06/15 21:56:16
Showing 1 changed files
... ...
@@ -181,3 +181,49 @@ jobs:
181 181
         run: make -j4
182 182
       - name: make check
183 183
         run: make check
184
+
185
+  msvc:
186
+      strategy:
187
+        matrix:
188
+          plat: [ARM64, Win32, x64]
189
+          include:
190
+            - plat: ARM64
191
+              triplet: arm64
192
+            - plat: Win32
193
+              triplet: x86
194
+            - plat: x64
195
+              triplet: x64
196
+
197
+      env:
198
+        BUILD_CONFIGURATION: Release
199
+        VCPKG_OVERLAY_PORTS: ${{ github.workspace }}/contrib/vcpkg-ports
200
+        VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/contrib/vcpkg-triplets
201
+
202
+      runs-on: windows-latest
203
+      steps:
204
+      - uses: actions/checkout@v2
205
+
206
+      - name: Add MSBuild to PATH
207
+        uses: microsoft/setup-msbuild@v1
208
+
209
+      - name: Restore artifacts, or run vcpkg, build and cache artifacts
210
+        uses: lukka/run-vcpkg@main
211
+        with:
212
+          vcpkgArguments: 'openssl lz4 lzo pkcs11-helper tap-windows6'
213
+          vcpkgTriplet: '${{ matrix.triplet }}-windows-ovpn'
214
+          vcpkgGitCommitId: '7d472dd25830da92108eb76642c667aaa40512cb'
215
+          cleanAfterBuild: false
216
+
217
+      - name: Build
218
+        working-directory: ${{env.GITHUB_WORKSPACE}}
219
+        run: |
220
+          vcpkg integrate install
221
+          msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:Platform="${{ matrix.plat }}" .
222
+
223
+      - name: Archive artifacts
224
+        uses: actions/upload-artifact@v2
225
+        with:
226
+          name: artifacts-${{ matrix.plat }}
227
+          path: |
228
+            ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.exe
229
+            ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.dll