| name: Bazel Checks |
| |
| permissions: |
| contents: read |
| |
| on: |
| push: |
| paths: |
| - '.github/workflows/bazel-checks.yml' |
| - 'utils/bazel/**' |
| branches: |
| - main |
| pull_request: |
| paths: |
| - '.github/workflows/bazel-checks.yml' |
| - 'utils/bazel/**' |
| |
| jobs: |
| buildifier: |
| name: "Buildifier" |
| runs-on: ubuntu-24.04 |
| if: github.repository == 'llvm/llvm-project' |
| steps: |
| - name: Fetch LLVM sources |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| - name: Setup Buildifier |
| run: | |
| sudo curl -L https://github.com/bazelbuild/buildtools/releases/download/v8.2.1/buildifier-linux-amd64 -o /usr/bin/buildifier --fail |
| sudo chmod +x /usr/bin/buildifier |
| - name: Run Buildifier |
| run: | |
| buildifier --mode=check $(find ./utils/bazel -name *BUILD*) |
| |
| bazel-build: |
| name: "Bazel Build/Test" |
| # Only run on US Central workers so we only have to keep one cache warm as |
| # the cache buckets are per cluster. |
| runs-on: |
| group: llvm-premerge-cluster-us-central |
| labels: llvm-premerge-linux-runners |
| if: github.repository == 'llvm/llvm-project' |
| steps: |
| - name: Fetch LLVM sources |
| uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 |
| # TODO(boomanaiden154): We should use a purpose built container for this. Move |
| # over when we have fixed the issues with using custom containers with Github |
| # ARC in GKE. |
| - name: Setup System Dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y libmpfr-dev libpfm4-dev m4 libedit-dev |
| sudo curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.27.0/bazelisk-amd64.deb --fail > /tmp/bazelisk.deb |
| sudo apt-get install -y /tmp/bazelisk.deb |
| rm /tmp/bazelisk.deb |
| - name: Build/Test |
| working-directory: utils/bazel |
| run: | |
| bazelisk test --config=ci --sandbox_base="" \ |
| --remote_cache=https://storage.googleapis.com/$CACHE_GCS_BUCKET-bazel \ |
| --google_default_credentials \ |
| @llvm-project//... //... |