radlink: honor explicitly supplied ASan runtime libraries #4229
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: builds | |
| on: | |
| push: | |
| paths-ignore: | |
| - '**.md' | |
| pull_request: | |
| paths-ignore: | |
| - '**.md' | |
| env: | |
| TORTURE_FLAGS: "--gen_crash_dump" | |
| jobs: | |
| build-ubuntu-24: | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: | |
| - raddbg | |
| - raddbg_non_graphical | |
| - radlink | |
| - radbin | |
| - torture | |
| compiler: | |
| - clang-17 | |
| - clang-22 | |
| - gcc | |
| name: ${{ matrix.target }}-${{ matrix.compiler }}-ubuntu24 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| - name: Install Common Dependencies | |
| shell: bash | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install --no-install-recommends -y pkg-config libfreetype6-dev libx11-dev libxext-dev libgl1-mesa-dev libegl1-mesa-dev | |
| - name: Install clang-17 Dependencies | |
| if: ${{ matrix.compiler == 'clang-17' }} | |
| shell: bash | |
| run: | | |
| sudo apt-get install --no-install-recommends -y clang-17 lld-17 llvm-17 | |
| sudo ln -sf /usr/bin/llvm-symbolizer-17 /usr/bin/llvm-symbolizer | |
| echo CC="${{ matrix.compiler }}" >> "${GITHUB_ENV}" | |
| echo AR=llvm-ar-17 >> "${GITHUB_ENV}" | |
| - name: Install ${{ matrix.compiler }} Dependencies | |
| if: ${{ matrix.compiler == 'clang-22' }} | |
| shell: bash | |
| run: | | |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
| sudo apt-add-repository -y "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-22 main" | |
| sudo apt-get update | |
| sudo apt-get install -y clang-22 lld-22 llvm-22 | |
| sudo ln -sf /usr/bin/llvm-symbolizer-22 /usr/bin/llvm-symbolizer | |
| echo CC="${{ matrix.compiler }}" >> "${GITHUB_ENV}" | |
| echo AR=llvm-ar-22 >> "${GITHUB_ENV}" | |
| - name: Build (debug) | |
| shell: bash | |
| run: | | |
| export CC_BUILD="${{ matrix.compiler }}" | |
| ./build.sh "${{ matrix.target }}" debug ${CC_BUILD%%-*} | |
| - name: Build (release) | |
| shell: bash | |
| run: | | |
| export CC_BUILD="${{ matrix.compiler }}" | |
| ./build.sh "${{ matrix.target }}" release ${CC_BUILD%%-*} | |
| build-windows-vs2022: | |
| runs-on: windows-2022 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: | |
| - raddbg | |
| - radlink | |
| - radbin | |
| - mule_main | |
| compiler: | |
| - msvc | |
| - clang | |
| name: ${{ matrix.target }}-${{ matrix.compiler }}-vs2022 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| - name: Build (debug) | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1 | |
| call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" debug || exit /b 1 | |
| - name: Build (debug) | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1 | |
| call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" release || exit /b 1 | |
| build-windows-vs2026: | |
| runs-on: windows-2025 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| target: | |
| - raddbg | |
| - radlink | |
| - radbin | |
| - mule_main | |
| compiler: | |
| - msvc | |
| - clang | |
| name: ${{ matrix.target }}-${{ matrix.compiler }}-vs2026 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| - name: Build (debug) | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1 | |
| call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" debug || exit /b 1 | |
| - name: Build (release) | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1 | |
| call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" release || exit /b 1 | |
| run-ubuntu-24-04: | |
| runs-on: ubuntu-24.04 | |
| if: false | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| compiler: | |
| - clang-22 | |
| # TODO: - gcc | |
| mode: | |
| - debug | |
| # TODO: - release | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| - name: Install Dependencies | |
| shell: bash | |
| run: | | |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
| sudo apt-add-repository -y "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-22 main" | |
| sudo apt-get update | |
| sudo apt-get install -y clang-22 lld-22 llvm-22 gcc-14 pkg-config libfreetype6-dev libx11-dev libxext-dev libgl1-mesa-dev libegl1-mesa-dev | |
| # crash callstack symbolizer depends on LLVM | |
| sudo ln -s /usr/bin/llvm-symbolizer-22 /usr/bin/llvm-symbolizer | |
| - name: Run | |
| shell: bash | |
| run: | | |
| [[ "${{ matrix.compiler }}" == "clang-22" ]] && export AR=llvm-ar-22 | |
| CC="${{ matrix.compiler }}" ./run_tests.sh clang "${{ matrix.mode }}" -- \* $TORTURE_FLAGS | |
| - name: Upload Artifacts | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: torture-crash-dumps-${{ matrix.compiler }}-${{ matrix.mode }} | |
| path: | | |
| build/*.core | |
| build/*.exe | |
| build/*.pdb | |
| build/torture_artifacts/** | |
| if-no-files-found: ignore | |
| run-windows-2022: | |
| runs-on: windows-2022 | |
| if: false | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| compiler: | |
| - msvc | |
| - clang | |
| mode: | |
| - debug | |
| - release | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| lfs: true | |
| - name: Run | |
| shell: cmd | |
| run: | | |
| for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do set "VS_INSTALL=%%i" | |
| call "%VS_INSTALL%\VC\Auxiliary\Build\vcvarsall.bat" x64 | |
| call run_tests.bat ${{ matrix.compiler }} ${{ matrix.mode }} -- * %TORTURE_FLAGS% || exit /b 1 | |
| - name: Upload Artifacts | |
| if: failure() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: torture-crash-dumps-${{ matrix.compiler }}-${{ matrix.mode }} | |
| path: | | |
| build/*.dmp | |
| build/*.exe | |
| build/*.pdb | |
| build/torture_artifacts/** | |
| if-no-files-found: ignore |