| # Copyright 2024 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| name: CI - Linux x64 clang ASan | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| # A PR number if a pull request and otherwise the commit hash. This cancels | |
| # queued and in-progress runs for the same PR (presubmit) or commit | |
| # (postsubmit). The workflow name is prepended to avoid conflicts between | |
| # different workflows. | |
| group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
| cancel-in-progress: true | |
| jobs: | |
| setup: | |
| uses: ./.github/workflows/setup.yml | |
| linux_x64_clang_asan: | |
| needs: setup | |
| if: contains(fromJson(needs.setup.outputs.enabled-jobs), 'linux_x64_clang_asan') | |
| runs-on: azure-linux-scale | |
| container: ghcr.io/iree-org/cpubuilder_ubuntu_jammy@sha256:78a558b999b230f7e1da376639e14b44f095f30f1777d6a272ba48c0bbdd4ccb | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: "Checking out repository" | |
| uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
| with: | |
| submodules: true | |
| - name: Install Python requirements | |
| run: python3 -m pip install -r ./runtime/bindings/python/iree/runtime/build_requirements.txt | |
| - name: Build and test with ASan | |
| env: | |
| # Use a modern clang explicitly. | |
| CC: clang-19 | |
| CXX: clang++-19 | |
| SCCACHE_AZURE_CONNECTION_STRING: "${{ secrets.AZURE_CCACHE_CONNECTION_STRING }}" | |
| SCCACHE_AZURE_BLOB_CONTAINER: ccache-container | |
| SCCACHE_CACHE_ZSTD_LEVEL: 10 | |
| SCCACHE_AZURE_KEY_PREFIX: "ci_linux_x64_clang_asan" | |
| run: | | |
| source build_tools/cmake/setup_sccache.sh | |
| ./build_tools/cmake/build_and_test_asan.sh | |
| sccache --show-stats |