Try to fix powershell text background #1166
Workflow file for this run
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: Build binaries | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| jobs: | |
| build: | |
| name: ${{ matrix.platform }} / ${{ matrix.cpu }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ windows-latest, ubuntu-22.04 ] | |
| cpu: [ x64, x86, arm64, arm ] | |
| exclude: | |
| - os: windows-latest | |
| cpu: x86 | |
| - os: windows-latest | |
| cpu: arm | |
| include: | |
| - os: macos-15 | |
| platform: macos | |
| cpu: arm64 | |
| arch: arm64 | |
| cxx: g++-13 | |
| cc: gcc-13 | |
| flags: '-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_CXX_FLAGS_RELEASE="-static-libgcc -static-libstdc++ -s -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi -Werror -Wno-unknown-pragmas"' | |
| triplet: arm64-osx | |
| - os: macos-15-intel | |
| platform: macos | |
| cpu: x64 | |
| arch: x86_64 | |
| cxx: g++-13 | |
| cc: gcc-13 | |
| flags: '-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_CXX_FLAGS_RELEASE="-static-libgcc -static-libstdc++ -s -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi -Werror -Wno-unknown-pragmas"' | |
| triplet: x64-osx | |
| - os: windows-latest | |
| platform: windows | |
| cpu: Win32 | |
| arch: x86 | |
| cxx: cl | |
| cc: cl | |
| flags: '-DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" -DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4 /EHsc /bigobj /utf-8 /Zc:preprocessor" -A ' | |
| triplet: x86-windows-static | |
| - os: windows-latest | |
| cxx: cl | |
| - os: windows-latest | |
| cpu: x64 | |
| triplet: x64-windows-static | |
| - os: windows-latest | |
| cpu: arm64 | |
| triplet: arm64-windows-static | |
| - os: ubuntu-22.04 | |
| cpu: x64 | |
| apt: g++-12 gcc-12 | |
| cxx: /usr/bin/g++-12 | |
| cc: /usr/bin/gcc-12 | |
| triplet: x64-linux | |
| - os: ubuntu-22.04 | |
| cpu: x86 | |
| # since 2025.11.29 vcpkg requires the stock compiler for some reason (not -12). | |
| apt: g++-12-i686-linux-gnu gcc-12-i686-linux-gnu g++-i686-linux-gnu gcc-i686-linux-gnu | |
| cxx: /usr/bin/i686-linux-gnu-g++-12 | |
| cc: /usr/bin/i686-linux-gnu-gcc-12 | |
| triplet: x86-linux | |
| - os: ubuntu-22.04 | |
| cpu: arm | |
| # vcpkg requires the stock compiler for some reason (not -12). | |
| apt: g++-12-arm-linux-gnueabihf gcc-12-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf | |
| cxx: /usr/bin/arm-linux-gnueabihf-g++-12 | |
| cc: /usr/bin/arm-linux-gnueabihf-gcc-12 | |
| triplet: arm-linux | |
| - os: ubuntu-22.04 | |
| cpu: arm64 | |
| # vcpkg requires the stock compiler for some reason (not -12). | |
| apt: g++-12-aarch64-linux-gnu gcc-12-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-aarch64-linux-gnu | |
| cxx: /usr/bin/aarch64-linux-gnu-g++-12 | |
| cc: /usr/bin/aarch64-linux-gnu-gcc-12 | |
| triplet: arm64-linux | |
| - os: ubuntu-22.04 | |
| flags: '-DCMAKE_CXX_FLAGS_RELEASE="-static -s -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi -Werror -Wno-unknown-pragmas"' | |
| - os: windows-latest | |
| flags: '-DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" -DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4 /EHsc /bigobj /utf-8 /Zc:preprocessor" -A ' | |
| - os: ubuntu-22.04 | |
| platform: linux | |
| - os: windows-latest | |
| platform: windows | |
| - cpu: x64 | |
| arch: x86_64 | |
| - cpu: x86 | |
| arch: x86 | |
| - cpu: arm64 | |
| arch: arm64 | |
| - cpu: arm | |
| arch: arm32 | |
| steps: | |
| - uses: actions/checkout@main | |
| - name: Set reusable strings | |
| id: strings | |
| shell: bash | |
| run: | | |
| echo "bin=${{ github.workspace }}/bin" >> "$GITHUB_OUTPUT" | |
| - name: Install compiler | |
| if: ${{ matrix.apt }} | |
| run: | | |
| sudo apt -y update | |
| sudo apt -y install ${{ matrix.apt }} | |
| - name: Clone and Bootstrap vcpkg (Windows) | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg.git ${{ github.workspace }}/vcpkg | |
| ${{ github.workspace }}/vcpkg/bootstrap-vcpkg.bat -disableMetrics | |
| - name: Clone and Bootstrap vcpkg (POSIX) | |
| if: matrix.os != 'windows-latest' | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg.git ${{ github.workspace }}/vcpkg | |
| ${{ github.workspace }}/vcpkg/bootstrap-vcpkg.sh -disableMetrics | |
| - name: Configure CMake | |
| env: | |
| CC: ${{ matrix.cc }} | |
| CXX: ${{ matrix.cxx }} | |
| MACOSX_DEPLOYMENT_TARGET: 11.0 | |
| WIN32_RESOURCES: ${{ matrix.os == 'windows-latest' && '.resources/images/vtm.rc' || '' }} | |
| run: > | |
| cmake -B ${{ steps.strings.outputs.bin }} | |
| -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake | |
| -DVCPKG_TARGET_TRIPLET=${{ matrix.triplet }} | |
| ${{ matrix.flags }} ${{ matrix.os == 'windows-latest' && matrix.cpu || '' }} | |
| -DCMAKE_BUILD_TYPE=Release | |
| -S ${{ github.workspace }} | |
| - name: Build | |
| run: cmake --build ${{ steps.strings.outputs.bin }} --config Release -v | |
| - name: Pack (POSIX) | |
| if: matrix.os != 'windows-latest' | |
| run: | | |
| 7z a -ttar vtm_${{ matrix.platform }}_${{ matrix.arch }}.tar ${{ steps.strings.outputs.bin }}/vtm | |
| 7z a -mx9 -stl -y -r -t7z vtm_${{ matrix.platform }}_${{ matrix.arch }}.tar.7z vtm_${{ matrix.platform }}_${{ matrix.arch }}.tar | |
| - name: Pack (Windows) | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| 7z a -ssp -mx9 -stl -y -r -t7z vtm_${{ matrix.platform }}_${{ matrix.arch }}.7z ${{ steps.strings.outputs.bin }}/Release/vtm.exe | |
| - name: Upload Artifact (POSIX) | |
| if: matrix.os != 'windows-latest' | |
| uses: actions/upload-artifact@main | |
| with: | |
| name: vtm_${{ matrix.platform }}_${{ matrix.arch }} | |
| path: vtm_${{ matrix.platform }}_${{ matrix.arch }}.tar.7z | |
| - name: Upload Symbols (Windows) | |
| if: matrix.os == 'windows-latest' | |
| uses: actions/upload-artifact@main | |
| with: | |
| name: vtm_pdb_${{ matrix.platform }}_${{ matrix.arch }} | |
| path: ${{ steps.strings.outputs.bin }}/Release/vtm.pdb | |
| - name: Upload Artifact (Windows) | |
| if: matrix.os == 'windows-latest' | |
| uses: actions/upload-artifact@main | |
| with: | |
| name: vtm_${{ matrix.platform }}_${{ matrix.arch }} | |
| path: vtm_${{ matrix.platform }}_${{ matrix.arch }}.7z |