Add more workflows on Linux to test boost-filesystem #522
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Windows (x64) | |
| on: | |
| push: | |
| branches: | |
| - "*" | |
| tags: | |
| - "*" | |
| pull_request: | |
| branches: | |
| - "*" | |
| jobs: | |
| build-shared: | |
| name: Build Windows (${{ matrix.artifact-name }}) | |
| runs-on: ${{ matrix.runs-on }} | |
| env: | |
| USERNAME: projectM-visualizer | |
| VCPKG_EXE: ${{ github.workspace }}/vcpkg/vcpkg | |
| FEED_URL: https://nuget.pkg.github.com/projectM-visualizer/index.json | |
| VCPKG_BINARY_SOURCES: "clear;nuget,https://nuget.pkg.github.com/projectM-visualizer/index.json,readwrite" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - shared-libs: ON | |
| boost: OFF | |
| arch: X64 | |
| triplet: x64-windows | |
| runtime: DLL | |
| runs-on: windows-2025 | |
| artifact-name: shared-stlfs-windows2025-X64 | |
| - shared-libs: OFF | |
| boost: OFF | |
| arch: X64 | |
| triplet: x64-windows-static | |
| runtime: '' | |
| runs-on: windows-2025 | |
| artifact-name: static-stlfs-windows2025-X64 | |
| - shared-libs: ON | |
| boost: ON | |
| arch: X64 | |
| triplet: x64-windows | |
| runtime: DLL | |
| runs-on: windows-2025 | |
| artifact-name: shared-boostfs-windows2025-X64 | |
| - shared-libs: OFF | |
| boost: ON | |
| arch: X64 | |
| triplet: x64-windows-static | |
| runtime: '' | |
| runs-on: windows-2025 | |
| artifact-name: static-boostfs-windows2025-X64 | |
| - shared-libs: ON | |
| boost: OFF | |
| arch: X64 | |
| triplet: x64-windows | |
| runtime: DLL | |
| runs-on: windows-2022 | |
| artifact-name: shared-stlfs-windows2022-X64 | |
| - shared-libs: OFF | |
| boost: OFF | |
| arch: X64 | |
| triplet: x64-windows-static | |
| runtime: '' | |
| runs-on: windows-2022 | |
| artifact-name: static-stlfs-windows2022-X64 | |
| - shared-libs: ON | |
| boost: ON | |
| arch: X64 | |
| triplet: x64-windows | |
| runtime: DLL | |
| runs-on: windows-2022 | |
| artifact-name: shared-boostfs-windows2022-X64 | |
| - shared-libs: OFF | |
| boost: ON | |
| arch: X64 | |
| triplet: x64-windows-static | |
| runtime: '' | |
| runs-on: windows-2022 | |
| artifact-name: static-boostfs-windows2022-X64 | |
| - shared-libs: ON | |
| boost: OFF | |
| arch: Win32 | |
| triplet: x86-windows | |
| runtime: DLL | |
| runs-on: windows-2025 | |
| artifact-name: shared-stlfs-windows2025-win32 | |
| - shared-libs: OFF | |
| boost: OFF | |
| arch: Win32 | |
| triplet: x86-windows-static | |
| runtime: '' | |
| runs-on: windows-2025 | |
| artifact-name: static-stlfs-windows2025-win32 | |
| - shared-libs: ON | |
| boost: ON | |
| arch: Win32 | |
| triplet: x86-windows | |
| runtime: DLL | |
| runs-on: windows-2025 | |
| artifact-name: shared-boostfs-windows2025-win32 | |
| - shared-libs: OFF | |
| boost: ON | |
| arch: Win32 | |
| triplet: x86-windows-static | |
| runtime: '' | |
| runs-on: windows-2025 | |
| artifact-name: static-boostfs-windows2025-win32 | |
| - shared-libs: ON | |
| boost: OFF | |
| arch: Win32 | |
| triplet: x86-windows | |
| runtime: DLL | |
| runs-on: windows-2022 | |
| artifact-name: shared-stlfs-windows2022-win32 | |
| - shared-libs: OFF | |
| boost: OFF | |
| arch: Win32 | |
| triplet: x86-windows-static | |
| runtime: '' | |
| runs-on: windows-2022 | |
| artifact-name: static-stlfs-windows2022-win32 | |
| - shared-libs: ON | |
| boost: ON | |
| arch: Win32 | |
| triplet: x86-windows | |
| runtime: DLL | |
| runs-on: windows-2022 | |
| artifact-name: shared-boostfs-windows2022-win32 | |
| - shared-libs: OFF | |
| boost: ON | |
| arch: Win32 | |
| triplet: x86-windows-static | |
| runtime: '' | |
| runs-on: windows-2022 | |
| artifact-name: static-boostfs-windows2022-win32 | |
| steps: | |
| - name: Checkout vcpkg | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: microsoft/vcpkg | |
| path: vcpkg | |
| submodules: recursive | |
| - name: Bootstrap vcpkg | |
| shell: pwsh | |
| run: ${{ github.workspace }}/vcpkg/bootstrap-vcpkg.bat | |
| - name: Add NuGet sources | |
| shell: pwsh | |
| run: | | |
| .$(${{ env.VCPKG_EXE }} fetch nuget) ` | |
| sources add ` | |
| -Source "${{ env.FEED_URL }}" ` | |
| -StorePasswordInClearText ` | |
| -Name GitHubPackages ` | |
| -UserName "${{ env.USERNAME }}" ` | |
| -Password "${{ secrets.VCPKG_PACKAGES_TOKEN }}" | |
| .$(${{ env.VCPKG_EXE }} fetch nuget) ` | |
| setapikey "${{ secrets.VCPKG_PACKAGES_TOKEN }}" ` | |
| -Source "${{ env.FEED_URL }}" | |
| - name: Checkout libprojectM | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Configure Build | |
| run: cmake -G "Visual Studio 17 2022" ` | |
| -A "${{ matrix.arch }}" ` | |
| -S "${{ github.workspace }}" ` | |
| -B "${{ github.workspace }}/cmake-build" ` | |
| -DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" ` | |
| -DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }} ` | |
| -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" ` | |
| -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$<CONFIG:Debug>:Debug>${{ matrix.runtime }}" ` | |
| -DCMAKE_VERBOSE_MAKEFILE=YES ` | |
| -DBUILD_SHARED_LIBS=${{ matrix.shared-libs }} ` | |
| -DENABLE_BOOST_FILESYSTEM=${{ matrix.boost }} ` | |
| -DBUILD_TESTING=YES | |
| - name: Build Debug | |
| run: cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --parallel | |
| - name: Run Unit Tests | |
| run: ctest --test-dir "${{ github.workspace }}/cmake-build" --verbose --build-config "Debug" | |
| - name: Build Release | |
| run: cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --parallel | |
| - name: Install | |
| run: | | |
| cmake --build "${{ github.workspace }}/cmake-build" --config "Debug" --target INSTALL | |
| cmake --build "${{ github.workspace }}/cmake-build" --config "Release" --target INSTALL | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: projectm-windows-${{ matrix.artifact-name }} | |
| path: install/* |