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//... //...