Reduce timeout after unrelated interrupts #1064
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-latest | |
| platform: macos | |
| cpu: universal | |
| arch: any | |
| cxx: c++ | |
| cc: cc | |
| flags: '-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DCMAKE_CXX_FLAGS_RELEASE="-O2 -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Werror"' | |
| - 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_C_FLAGS_RELEASE="/MT /O2 /c" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4" -A ' | |
| - os: windows-latest | |
| cxx: cl | |
| - os: ubuntu-22.04 | |
| cpu: x64 | |
| apt: g++-12 gcc-12 | |
| cxx: /usr/bin/g++-12 | |
| cc: /usr/bin/gcc-12 | |
| - os: ubuntu-22.04 | |
| cpu: x86 | |
| apt: g++-12-i686-linux-gnu gcc-12-i686-linux-gnu | |
| cxx: /usr/bin/i686-linux-gnu-g++-12 | |
| cc: /usr/bin/i686-linux-gnu-gcc-12 | |
| - os: ubuntu-22.04 | |
| cpu: arm | |
| apt: g++-12-arm-linux-gnueabihf gcc-12-arm-linux-gnueabihf | |
| cxx: /usr/bin/arm-linux-gnueabihf-g++-12 | |
| cc: /usr/bin/arm-linux-gnueabihf-gcc-12 | |
| - os: ubuntu-22.04 | |
| cpu: arm64 | |
| apt: g++-12-aarch64-linux-gnu gcc-12-aarch64-linux-gnu | |
| cxx: /usr/bin/aarch64-linux-gnu-g++-12 | |
| cc: /usr/bin/aarch64-linux-gnu-gcc-12 | |
| - os: ubuntu-22.04 | |
| flags: '-DCMAKE_C_FLAGS="-O2 -static " -DCMAKE_CXX_FLAGS_RELEASE=" -static -s -O2 -DNDEBUG -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi -Werror"' | |
| - os: windows-latest | |
| flags: '-DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" -DCMAKE_EXE_LINKER_FLAGS_RELEASE="/DEBUG /OPT:REF /OPT:ICF" -DCMAKE_C_FLAGS_RELEASE="/MT /O2 /c" -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /DNDEBUG /Zi /Zc:preprocessor /W4" -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: Configure CMake | |
| run: > | |
| cmake -B ${{ steps.strings.outputs.bin }} | |
| -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} | |
| -DCMAKE_C_COMPILER=${{ matrix.cc }} | |
| ${{ 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 | |
| - 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 |