From 0701402737012028ffd83e9fdfcba38d1afc0531 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 24 Aug 2021 15:53:40 +0200 Subject: [PATCH] Add CI workflow for building wxMSW using MSVS natively This should allow running all the tests faster than it's done by AppVeyor. Ignore changes to this workflow file in all the other workflows. --- .github/workflows/ci.yml | 2 + .github/workflows/ci_cmake.yml | 2 + .github/workflows/ci_mac_selfhosted.yml | 2 + .github/workflows/ci_msw.yml | 90 +++++++++++++++++++++++++ .github/workflows/ci_msw_cross.yml | 2 + 5 files changed, 98 insertions(+) create mode 100644 .github/workflows/ci_msw.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ad5ef60e9..8052a6427a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: paths-ignore: - '.github/workflows/ci_mac_selfhosted.yml' - '.github/workflows/ci_cmake.yml' + - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' @@ -26,6 +27,7 @@ on: paths-ignore: - '.github/workflows/ci_mac_selfhosted.yml' - '.github/workflows/ci_cmake.yml' + - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' diff --git a/.github/workflows/ci_cmake.yml b/.github/workflows/ci_cmake.yml index 2a5e599db7..4309ec34b5 100644 --- a/.github/workflows/ci_cmake.yml +++ b/.github/workflows/ci_cmake.yml @@ -8,6 +8,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' @@ -26,6 +27,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' diff --git a/.github/workflows/ci_mac_selfhosted.yml b/.github/workflows/ci_mac_selfhosted.yml index 96dcc3ee54..f62e9f4c0f 100644 --- a/.github/workflows/ci_mac_selfhosted.yml +++ b/.github/workflows/ci_mac_selfhosted.yml @@ -7,6 +7,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' + - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' @@ -34,6 +35,7 @@ on: paths-ignore: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' + - '.github/workflows/ci_msw.yml' - '.github/workflows/ci_msw_cross.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' diff --git a/.github/workflows/ci_msw.yml b/.github/workflows/ci_msw.yml new file mode 100644 index 0000000000..e0ed0653bb --- /dev/null +++ b/.github/workflows/ci_msw.yml @@ -0,0 +1,90 @@ +# CI workflow building wxMSW under Windows. +name: MSW builds + +on: + push: + branches: + - master + paths-ignore: + - '.github/workflows/ci.yml' + - '.github/workflows/ci_cmake.yml' + - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_msw_cross.yml' + - 'build/tools/appveyor*.bat' + - 'distrib/**' + - 'docs/**' + - 'interface/**' + - 'include/wx/gtk/**' + - 'include/wx/osx/**' + - 'locale/**' + - 'src/gtk/**' + - 'src/osx/**' + - '*.md' + - '*.yml' + pull_request: + branches: + - master + paths-ignore: + - '.github/workflows/ci.yml' + - '.github/workflows/ci_cmake.yml' + - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_msw_cross.yml' + - 'build/tools/appveyor*.bat' + - 'distrib/**' + - 'docs/**' + - 'interface/**' + - 'include/wx/gtk/**' + - 'include/wx/osx/**' + - 'locale/**' + - 'src/gtk/**' + - 'src/osx/**' + - '*.md' + - '*.yml' + +jobs: + msw-vs2019: + runs-on: windows-2019 + name: wxMSW ${{ matrix.configuration }}/${{ matrix.platform }} MSVS 2019 + strategy: + fail-fast: false + matrix: + include: + - configuration: 'Debug' + platform: 'Win32' + - configuration: '"DLL Release"' + platform: 'x64' + + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: 'recursive' + + - name: Add MSBuild to PATH + uses: microsoft/setup-msbuild@v1.0.2 + + - name: Build + run: | + msbuild /noLogo /m /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} build\msw\wx_vc16.sln + + - name: Build minimal sample + run: | + msbuild /noLogo /m /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} samples\minimal\minimal_vc16.sln + + - name: Build tests + run: | + msbuild /noLogo /m /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} tests\test_vc16.sln + + - name: Run tests + working-directory: tests + run: | + .\vc*msw*\test.exe + + - name: Build GUI tests + run: | + msbuild /noLogo /m /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} tests\test_gui_vc16.sln + + - name: Run GUI tests + working-directory: tests + run: | + .\vc*msw*\test_gui.exe diff --git a/.github/workflows/ci_msw_cross.yml b/.github/workflows/ci_msw_cross.yml index ed8e9fb824..993d8f7696 100644 --- a/.github/workflows/ci_msw_cross.yml +++ b/.github/workflows/ci_msw_cross.yml @@ -9,6 +9,7 @@ on: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_msw.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' - 'docs/**' @@ -29,6 +30,7 @@ on: - '.github/workflows/ci.yml' - '.github/workflows/ci_cmake.yml' - '.github/workflows/ci_mac_selfhosted.yml' + - '.github/workflows/ci_msw.yml' - 'build/tools/appveyor*.bat' - 'distrib/**' - 'docs/**'