0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-20 04:02:15 +02:00
openvpn3/.github/workflows/msbuild.yml
Frank Lichtenheld 63499ba7ac CMake: add CMakePresets.json and switch GHA to use it
For now define vcpkg builds for MSVC and MinGW

Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
2023-02-28 13:45:16 +01:00

87 lines
2.5 KiB
YAML

name: Build
on: [push, pull_request]
jobs:
msvc:
strategy:
matrix:
arch: [x86, amd64, amd64_arm64]
env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
BUILD_CONFIGURATION: Release
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: lukka/get-cmake@latest
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v10
with:
vcpkgGitCommitId: '36fb23307e10cc6ffcec566c46c4bb3f567c82c6'
vcpkgJsonGlob: '**/windows/vcpkg.json'
- name: Run CMake with vcpkg.json manifest
uses: lukka/run-cmake@v10
with:
configurePreset: win-${{ matrix.arch }}-release
buildPreset: win-${{ matrix.arch }}-release
- uses: actions/upload-artifact@v2
with:
name: openvpn3-msvc-${{ matrix.arch }}
path: |
${{ github.workspace }}/build/**/*.exe
${{ github.workspace }}/build/**/*.dll
!${{ github.workspace }}/build/**/test/ssl/**
!${{ github.workspace }}/build/**/test/unittests/**
!${{ github.workspace }}/build/**/CMakeFiles/**
!${{ github.workspace }}/build/**/vcpkg_installed/**
mingw:
strategy:
matrix:
arch: [x86, x64]
env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: lukka/get-cmake@latest
- name: Install dependencies
run: sudo apt update && sudo apt install -y mingw-w64 unzip cmake build-essential
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v10
with:
vcpkgGitCommitId: '36fb23307e10cc6ffcec566c46c4bb3f567c82c6'
vcpkgJsonGlob: '**/mingw/vcpkg.json'
- name: Run CMake with vcpkg.json manifest
uses: lukka/run-cmake@v10
with:
configurePreset: mingw-${{ matrix.arch }}-release
buildPreset: mingw-${{ matrix.arch }}-release
- name: List $RUNNER_WORKSPACE after build
run: find $RUNNER_WORKSPACE
shell: bash
- uses: actions/upload-artifact@v2
with:
name: openvpn3-mingw-${{ matrix.arch }}
path: |
${{ github.workspace }}/build/**/*.exe
${{ github.workspace }}/build/**/*.dll
!${{ github.workspace }}/build/**/test/ssl/**
!${{ github.workspace }}/build/**/test/unittests/**
!${{ github.workspace }}/build/**/CMakeFiles/**
!${{ github.workspace }}/build/**/vcpkg_installed/**