From 9018bb5e4fc576e96b2e605737915ee0d4935336 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 18:40:42 +0200 Subject: [PATCH 01/11] Update windows ci splitting msvs to separate workflow --- .github/workflows/windows-ci.yml | 45 +---------- .github/workflows/windows-msvs-ci.yml | 112 ++++++++++++++++++++++++++ MSVisualStudio/v17/CoinUtils.sln | 1 + 3 files changed, 115 insertions(+), 43 deletions(-) create mode 100644 .github/workflows/windows-msvs-ci.yml diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml index 82a9112cc..a1d41380e 100644 --- a/.github/workflows/windows-ci.yml +++ b/.github/workflows/windows-ci.yml @@ -24,7 +24,6 @@ jobs: { os: windows-2019, arch: x86_64, msystem: mingw64, debug: false, suffix: "" }, { os: windows-2019, arch: msvc, msystem: mingw64, debug: false, suffix: "-md" }, { os: windows-2022, arch: msvc, msystem: mingw64, debug: false, suffix: "-md" }, - { os: windows-2022, arch: msvs, msystem: mingw64, debug: false, suffix: "" }, ] steps: - name: Checkout source @@ -39,11 +38,8 @@ jobs: - name: Set up msvc if: ${{ matrix.arch == 'msvc' }} uses: ilammy/msvc-dev-cmd@v1 - - name: Set up for msvs - if: ${{ matrix.arch == 'msvs' }} - uses: microsoft/setup-msbuild@v2 - name: Set correct host flag and install requirements - if: ${{ matrix.arch != 'msvc' && matrix.arch != 'msvs' }} + if: ${{ matrix.arch != 'msvc' }} run: | echo "host_flag=--host=${{ matrix.arch }}-w64-mingw32" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append C:\msys64\usr\bin\pacman -S mingw-w64-${{ matrix.arch }}-lapack mingw-w64-${{ matrix.arch }}-winpthreads-git mingw-w64-${{ matrix.arch }}-readline mingw-w64-${{ matrix.arch }}-suitesparse mingw-w64-${{ matrix.arch }}-metis --noconfirm @@ -57,44 +53,7 @@ jobs: zip path-type: inherit msystem: ${{ matrix.msystem }} - - name: Fetch project for msvs - if: ${{ matrix.arch == 'msvs' }} - run: | - ADD_ARGS=() - ADD_ARGS+=( --skip='ThirdParty/Metis ThirdParty/Mumps ThirdParty/Blas ThirdParty/Lapack' ) - ./coinbrew/coinbrew fetch ${{ github.event.repository.name }} --skip-update "${ADD_ARGS[@]}" - echo "##################################################" - echo "### Extracting Netlib and Miplib3 if available" - if [ -d "./Data/Netlib/" ]; then gunzip ./Data/Netlib/*.gz; fi - if [ -d "./Data/Miplib3/" ]; then gunzip ./Data/Miplib3/*.gz; fi - echo "##################################################" - shell: msys2 {0} - - name: Build project for msvs - if: ${{ matrix.arch == 'msvs' }} - shell: cmd - run: | - msbuild ${{ github.event.repository.name }}\MSVisualStudio\v17\${{ github.event.repository.name }}.sln /p:Configuration=Release /p:Platform=x64 /m - - name: Test project for msvs - if: ${{ matrix.arch == 'msvs' }} - shell: cmd - run: | - .\${{ github.event.repository.name }}\MSVisualStudio\v17\${{ github.event.repository.name }}Test.cmd .\${{ github.event.repository.name }}\MSVisualStudio\v17\x64\Release .\Data\Sample .\Data\Netlib .\Data\Miplib3 - - name: Install project for msvs - if: ${{ matrix.arch == 'msvs' }} - shell: cmd - run: | - mkdir dist - copy ${{ github.event.repository.name }}\README.* dist\. - copy ${{ github.event.repository.name }}\AUTHORS.* dist\. - copy ${{ github.event.repository.name }}\LICENSE.* dist\. - mkdir dist\bin - copy ${{ github.event.repository.name }}\MSVisualStudio\v17\x64\Release\*.exe dist\bin\. - mkdir dist\share - if exist .\Data\Sample xcopy .\Data\Sample dist\share\coin-or-sample /i - if exist .\Data\Netlib xcopy .\Data\Netlib dist\share\coin-or-netlib /i - if exist .\Data\Miplib3 xcopy .\Data\Miplib3 dist\share\coin-or-miplib3 /i - - name: Build project using coinbrew - if: ${{ matrix.arch != 'msvs' }} + - name: Build project run: | ADD_ARGS=() ADD_ARGS+=( --skip='ThirdParty/Metis ThirdParty/Mumps ThirdParty/Blas ThirdParty/Lapack' ) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml new file mode 100644 index 000000000..40af4fb60 --- /dev/null +++ b/.github/workflows/windows-msvs-ci.yml @@ -0,0 +1,112 @@ +--- +name: Windows build and test +on: + push: + branches: + - 'master' + - 'stable/*' + - 'dev*' + pull_request: + branches: + - '**' + release: + types: + - created + +jobs: + test: + name: Run tests + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: [ + { os: windows-2019, configuration: "Release", platform: "Win32" }, + { os: windows-2022, configuration: "Release", platform: "x64" }, + ] + steps: + - name: Checkout source + uses: actions/checkout@v4 + with: + path: ${{ github.event.repository.name }} + - name: Checkout coinbrew + uses: actions/checkout@v4 + with: + repository: coin-or/coinbrew + path: coinbrew + - name: Set up msbuild + uses: microsoft/setup-msbuild@v2 + - name: Set up msys for coinbrew + uses: msys2/setup-msys2@v2 + with: + update: true + install: >- + base-devel + git + zip + path-type: inherit + msystem: mingw64 + - name: Fetch project + run: | + ADD_ARGS=() + ADD_ARGS+=( --skip='ThirdParty/Metis ThirdParty/Mumps ThirdParty/Blas ThirdParty/Lapack' ) + ./coinbrew/coinbrew fetch ${{ github.event.repository.name }} --skip-update "${ADD_ARGS[@]}" + echo "##################################################" + echo "### Extracting Netlib and Miplib3 if available" + if [ -d "./Data/Netlib/" ]; then gunzip ./Data/Netlib/*.gz; fi + if [ -d "./Data/Miplib3/" ]; then gunzip ./Data/Miplib3/*.gz; fi + echo "##################################################" + shell: msys2 {0} + - name: Build project + shell: cmd + run: | + if "${{ matrix.platform }}"=="x64" ( + echo "output_dir=x64\${{ matrix.configuration }}" >> $GITHUB_ENV + ) else if "${{ matrix.platform }}"=="Win32" ( + echo "output_dir=Win32\${{ matrix.configuration }}" >> $GITHUB_ENV + ) else ( + echo "ERROR: Unsupported platform '${{ matrix.platform }}'. Expecting x64 or Win32." 1>&2 + exit /b 1 + ) + msbuild ${{ github.event.repository.name }}\MSVisualStudio\v17\${{ github.event.repository.name }}.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} /m + - name: Test project + shell: cmd + run: | + .\${{ github.event.repository.name }}\MSVisualStudio\v17\${{ github.event.repository.name }}Test.cmd .\${{ github.event.repository.name }}\MSVisualStudio\v17\${{ env.output_dir }} .\Data\Sample .\Data\Netlib .\Data\Miplib3 + - name: Install project + shell: cmd + run: | + mkdir dist + copy ${{ github.event.repository.name }}\README.* dist\. + copy ${{ github.event.repository.name }}\AUTHORS.* dist\. + copy ${{ github.event.repository.name }}\LICENSE.* dist\. + mkdir dist\bin + copy ${{ github.event.repository.name }}\MSVisualStudio\v17\${{ env.output_dir }}\*.exe dist\bin\. + mkdir dist\share + if exist .\Data\Sample xcopy .\Data\Sample dist\share\coin-or-sample /i + if exist .\Data\Netlib xcopy .\Data\Netlib dist\share\coin-or-netlib /i + if exist .\Data\Miplib3 xcopy .\Data\Miplib3 dist\share\coin-or-miplib3 /i + - name: Generate package name + run: | + echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> $GITHUB_ENV + shell: msys2 {0} + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ github.event.repository.name }}-${{ env.package_suffix }} + path: dist + if-no-files-found: error + - name: Zip up dist contents for release + if: ${{ github.event_name == 'release'}} + run: cd dist && zip -r ../release.zip * + shell: msys2 {0} + - name: Upload package to release + if: ${{ github.event_name == 'release'}} + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./release.zip + asset_name: ${{ github.event.repository.name }}-${{ github.event.release.tag_name }}-${{ env.package_suffix }}.zip + asset_content_type: application/gzip diff --git a/MSVisualStudio/v17/CoinUtils.sln b/MSVisualStudio/v17/CoinUtils.sln index b8089e0db..f5d536ae7 100644 --- a/MSVisualStudio/v17/CoinUtils.sln +++ b/MSVisualStudio/v17/CoinUtils.sln @@ -19,6 +19,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{ ..\..\.github\workflows\linux-ci.yml = ..\..\.github\workflows\linux-ci.yml ..\..\.github\workflows\release.yml = ..\..\.github\workflows\release.yml ..\..\.github\workflows\windows-ci.yml = ..\..\.github\workflows\windows-ci.yml + ..\..\.github\workflows\windows-msvs-ci.yml = ..\..\.github\workflows\windows-msvs-ci.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{7032C4C9-B7AE-42F2-A4C0-26F1A9F054F1}" From b6937a69d7c816965e2f5f3b7d30b41152862ae0 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 20:00:56 +0200 Subject: [PATCH 02/11] Update windows msvs ci to fix output_dir not set --- .github/workflows/windows-msvs-ci.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 40af4fb60..07cfc8a31 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -1,5 +1,5 @@ --- -name: Windows build and test +name: Windows MSVS build and test on: push: branches: @@ -21,7 +21,7 @@ jobs: fail-fast: false matrix: include: [ - { os: windows-2019, configuration: "Release", platform: "Win32" }, + { os: windows-2019, configuration: "Release", platform: "x86" }, { os: windows-2022, configuration: "Release", platform: "x64" }, ] steps: @@ -61,13 +61,14 @@ jobs: shell: cmd run: | if "${{ matrix.platform }}"=="x64" ( - echo "output_dir=x64\${{ matrix.configuration }}" >> $GITHUB_ENV - ) else if "${{ matrix.platform }}"=="Win32" ( - echo "output_dir=Win32\${{ matrix.configuration }}" >> $GITHUB_ENV + echo "output_dir=x64\${{ matrix.configuration }}" >> %GITHUB_ENV% + ) else if "${{ matrix.platform }}"=="x86" ( + echo "output_dir=${{ matrix.configuration }}" >> %GITHUB_ENV% ) else ( - echo "ERROR: Unsupported platform '${{ matrix.platform }}'. Expecting x64 or Win32." 1>&2 + echo "ERROR Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." 1>&2 exit /b 1 ) + echo "Output directory ${{ env.output_dir }}" msbuild ${{ github.event.repository.name }}\MSVisualStudio\v17\${{ github.event.repository.name }}.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} /m - name: Test project shell: cmd From 27faffbd835164b7fe1041dfca0e4296e550dfee Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 20:08:41 +0200 Subject: [PATCH 03/11] Try to fix output_dir env variables --- .github/workflows/windows-msvs-ci.yml | 31 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 07cfc8a31..260d5518f 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -25,6 +25,24 @@ jobs: { os: windows-2022, configuration: "Release", platform: "x64" }, ] steps: + - name: Set up environment variables + shell: cmd + run: | + set + echo GITHUB_ENV - %GITHUB_ENV% + if "${{ matrix.platform }}"=="x64" ( + echo "output_dir=x64\${{ matrix.configuration }}" >> "%GITHUB_ENV%" + ) else if "${{ matrix.platform }}"=="x86" ( + echo "output_dir=${{ matrix.configuration }}" >> "%GITHUB_ENV%" + ) else ( + echo "ERROR Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." 1>&2 + exit /b 1 + ) + if "${{ env.output_dir }}"=="" echo ERROR - No output_dir && exit 1 + + echo "Output directory - ${{ env.output_dir }}" + echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> "%GITHUB_ENV%" + - name: Checkout source uses: actions/checkout@v4 with: @@ -60,15 +78,6 @@ jobs: - name: Build project shell: cmd run: | - if "${{ matrix.platform }}"=="x64" ( - echo "output_dir=x64\${{ matrix.configuration }}" >> %GITHUB_ENV% - ) else if "${{ matrix.platform }}"=="x86" ( - echo "output_dir=${{ matrix.configuration }}" >> %GITHUB_ENV% - ) else ( - echo "ERROR Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." 1>&2 - exit /b 1 - ) - echo "Output directory ${{ env.output_dir }}" msbuild ${{ github.event.repository.name }}\MSVisualStudio\v17\${{ github.event.repository.name }}.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }} /m - name: Test project shell: cmd @@ -87,10 +96,6 @@ jobs: if exist .\Data\Sample xcopy .\Data\Sample dist\share\coin-or-sample /i if exist .\Data\Netlib xcopy .\Data\Netlib dist\share\coin-or-netlib /i if exist .\Data\Miplib3 xcopy .\Data\Miplib3 dist\share\coin-or-miplib3 /i - - name: Generate package name - run: | - echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> $GITHUB_ENV - shell: msys2 {0} - name: Upload artifact uses: actions/upload-artifact@v4 with: From e0e9f7e307a0918b210ec86051c91b43dc792988 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 20:15:01 +0200 Subject: [PATCH 04/11] Another try to fix env variables. --- .github/workflows/windows-msvs-ci.yml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 260d5518f..e0a578209 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -28,21 +28,11 @@ jobs: - name: Set up environment variables shell: cmd run: | - set - echo GITHUB_ENV - %GITHUB_ENV% - if "${{ matrix.platform }}"=="x64" ( - echo "output_dir=x64\${{ matrix.configuration }}" >> "%GITHUB_ENV%" - ) else if "${{ matrix.platform }}"=="x86" ( - echo "output_dir=${{ matrix.configuration }}" >> "%GITHUB_ENV%" - ) else ( - echo "ERROR Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." 1>&2 - exit /b 1 - ) - if "${{ env.output_dir }}"=="" echo ERROR - No output_dir && exit 1 - + if "${{ matrix.platform }}"=="x64" echo "output_dir=x64\${{ matrix.configuration }}" >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x86" echo "output_dir=${{ matrix.configuration }}" >> %GITHUB_ENV% + if "${{ env.output_dir }}"=="" echo "ERROR - Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." && exit 1 echo "Output directory - ${{ env.output_dir }}" - echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> "%GITHUB_ENV%" - + echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> %GITHUB_ENV% - name: Checkout source uses: actions/checkout@v4 with: From e6614f878691458e066f30e64e6b922bdc248a54 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 20:24:15 +0200 Subject: [PATCH 05/11] another try to fix output_dir for cmd --- .github/workflows/windows-msvs-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index e0a578209..28174981c 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -28,8 +28,9 @@ jobs: - name: Set up environment variables shell: cmd run: | - if "${{ matrix.platform }}"=="x64" echo "output_dir=x64\${{ matrix.configuration }}" >> %GITHUB_ENV% - if "${{ matrix.platform }}"=="x86" echo "output_dir=${{ matrix.configuration }}" >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }} >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }} >> %GITHUB_ENV% + type %GITHUB_ENV% if "${{ env.output_dir }}"=="" echo "ERROR - Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." && exit 1 echo "Output directory - ${{ env.output_dir }}" echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> %GITHUB_ENV% From 98b6ddf2b10853dab27a9796468f4d9ea6904430 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 20:27:20 +0200 Subject: [PATCH 06/11] and anotehr try --- .github/workflows/windows-msvs-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 28174981c..3e80ea361 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -30,10 +30,13 @@ jobs: run: | if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }} >> %GITHUB_ENV% if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }} >> %GITHUB_ENV% + echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> %GITHUB_ENV% + - name: Check environment variables + shell: cmd + run: | type %GITHUB_ENV% if "${{ env.output_dir }}"=="" echo "ERROR - Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." && exit 1 echo "Output directory - ${{ env.output_dir }}" - echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> %GITHUB_ENV% - name: Checkout source uses: actions/checkout@v4 with: From 5fd4ebead3202f2e817a0a382c5cfd92aae17af7 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 20:39:10 +0200 Subject: [PATCH 07/11] Fix env variables --- .github/workflows/windows-msvs-ci.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 3e80ea361..7ef4554e9 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -21,22 +21,25 @@ jobs: fail-fast: false matrix: include: [ - { os: windows-2019, configuration: "Release", platform: "x86" }, + # Only os: windows-2022 has MSVS v17 (2022) installed, which is required. + { os: windows-2022, configuration: "Release", platform: "x86" }, { os: windows-2022, configuration: "Release", platform: "x64" }, + { os: windows-2022, configuration: "Debug", platform: "x64" }, + { os: windows-2022, configuration: "Debug", platform: "x86" }, ] steps: - name: Set up environment variables shell: cmd run: | - if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }} >> %GITHUB_ENV% - if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }} >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x64" echo "output_dir=x64\${{ matrix.configuration }}" >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x86" echo "output_dir=${{ matrix.configuration }}" >> %GITHUB_ENV% echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> %GITHUB_ENV% - name: Check environment variables shell: cmd run: | - type %GITHUB_ENV% - if "${{ env.output_dir }}"=="" echo "ERROR - Unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." && exit 1 - echo "Output directory - ${{ env.output_dir }}" + echo "Output directory - '${{ env.output_dir }}'" + echo "Package suffix - '${{ env.package_suffix }}'" + if "${{ env.output_dir }}"=="" echo "ERROR - No output_dir set, possibly unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." && exit 1 - name: Checkout source uses: actions/checkout@v4 with: From 73661211088f35a8e36a3aa3894813c86674896f Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 21:07:41 +0200 Subject: [PATCH 08/11] Fix output_dir and package_suffix env variables --- .github/workflows/windows-msvs-ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 7ef4554e9..f1f37f208 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -21,7 +21,7 @@ jobs: fail-fast: false matrix: include: [ - # Only os: windows-2022 has MSVS v17 (2022) installed, which is required. + # Only os: windows-2022 has Visual Studio 2022 (v17) installed with toolset v143, which is required. { os: windows-2022, configuration: "Release", platform: "x86" }, { os: windows-2022, configuration: "Release", platform: "x64" }, { os: windows-2022, configuration: "Debug", platform: "x64" }, @@ -31,15 +31,15 @@ jobs: - name: Set up environment variables shell: cmd run: | - if "${{ matrix.platform }}"=="x64" echo "output_dir=x64\${{ matrix.configuration }}" >> %GITHUB_ENV% - if "${{ matrix.platform }}"=="x86" echo "output_dir=${{ matrix.configuration }}" >> %GITHUB_ENV% - echo "package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }}" >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }} >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }} >> %GITHUB_ENV% + echo package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }} >> %GITHUB_ENV% - name: Check environment variables shell: cmd run: | - echo "Output directory - '${{ env.output_dir }}'" - echo "Package suffix - '${{ env.package_suffix }}'" - if "${{ env.output_dir }}"=="" echo "ERROR - No output_dir set, possibly unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86." && exit 1 + echo Output directory - '${{ env.output_dir }}' + echo Package suffix - '${{ env.package_suffix }}' + if "${{ env.output_dir }}"=="" echo ERROR - No output_dir set, possibly unsupported platform '${{ matrix.platform }}'. Expecting x64 or x86. && exit 1 - name: Checkout source uses: actions/checkout@v4 with: From 5a66ca1a6a1abd54f950ede4c1265e162c1de7c1 Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 21:13:21 +0200 Subject: [PATCH 09/11] and another attempt --- .github/workflows/windows-msvs-ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index f1f37f208..478c921f1 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -31,9 +31,10 @@ jobs: - name: Set up environment variables shell: cmd run: | - if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }} >> %GITHUB_ENV% - if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }} >> %GITHUB_ENV% - echo package_suffix=${{ matrix.os}}-msvs-v17-{{ matrix.configuration }}-{{ matrix.platform }} >> %GITHUB_ENV% + # For cmd, dont use double quotes in the echo command and dont put a space before >> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }}>> %GITHUB_ENV% + if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }}>> %GITHUB_ENV% + echo package_suffix=${{ matrix.os}}-msvs-v17-${{ matrix.configuration }}-${{ matrix.platform }}>> %GITHUB_ENV% - name: Check environment variables shell: cmd run: | From 8beae6bbcd4c2151e1e664e89aec763004f506ca Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 21:14:40 +0200 Subject: [PATCH 10/11] bad comment in yml --- .github/workflows/windows-msvs-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index 478c921f1..f01a89add 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -30,8 +30,8 @@ jobs: steps: - name: Set up environment variables shell: cmd + # For cmd, dont use double quotes in the echo command and dont put a space before >> %GITHUB_ENV% run: | - # For cmd, dont use double quotes in the echo command and dont put a space before >> %GITHUB_ENV% if "${{ matrix.platform }}"=="x64" echo output_dir=x64\${{ matrix.configuration }}>> %GITHUB_ENV% if "${{ matrix.platform }}"=="x86" echo output_dir=${{ matrix.configuration }}>> %GITHUB_ENV% echo package_suffix=${{ matrix.os}}-msvs-v17-${{ matrix.configuration }}-${{ matrix.platform }}>> %GITHUB_ENV% From 03796547248b5fa2faa4af3b48995a68dac9145f Mon Sep 17 00:00:00 2001 From: Jan-Willem Goossens Date: Sun, 7 Apr 2024 21:55:03 +0200 Subject: [PATCH 11/11] Update windows-msvs-ci.yml --- .github/workflows/windows-msvs-ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/windows-msvs-ci.yml b/.github/workflows/windows-msvs-ci.yml index f01a89add..671b3cd86 100644 --- a/.github/workflows/windows-msvs-ci.yml +++ b/.github/workflows/windows-msvs-ci.yml @@ -5,7 +5,6 @@ on: branches: - 'master' - 'stable/*' - - 'dev*' pull_request: branches: - '**' @@ -22,10 +21,8 @@ jobs: matrix: include: [ # Only os: windows-2022 has Visual Studio 2022 (v17) installed with toolset v143, which is required. - { os: windows-2022, configuration: "Release", platform: "x86" }, + # configuration: "Release" or "Debug", platform: "x86" or "x64". See solution Configuration Manager. { os: windows-2022, configuration: "Release", platform: "x64" }, - { os: windows-2022, configuration: "Debug", platform: "x64" }, - { os: windows-2022, configuration: "Debug", platform: "x86" }, ] steps: - name: Set up environment variables