Skip to content

Make xla_cc_test default to static linking, so that we can catch bugs where duplicated symbols are linked into the same test (e.g. having main()s from different libraries), which is unintended and leads to wrong/surprising test behavior, as we don't know for sure which main() the linker will use. #3792

Make xla_cc_test default to static linking, so that we can catch bugs where duplicated symbols are linked into the same test (e.g. having main()s from different libraries), which is unintended and leads to wrong/surprising test behavior, as we don't know for sure which main() the linker will use.

Make xla_cc_test default to static linking, so that we can catch bugs where duplicated symbols are linked into the same test (e.g. having main()s from different libraries), which is unintended and leads to wrong/surprising test behavior, as we don't know for sure which main() the linker will use. #3792

Workflow file for this run

# Copyright 2025 The OpenXLA Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============================================================================
name: CI
permissions:
contents: read
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: ${{ github.ref != 'main' }}
jobs:
Tests:
strategy:
# Don't fail fast - want to see results for all builds even if one fails.
fail-fast: false
matrix:
job_info: [
{
pool: "linux-x86-n2-16",
container: "us-central1-docker.pkg.dev/tensorflow-sigs/tensorflow/ml-build:latest",
kokoro_job_name: "xla-linux-x86-cpu",
pretty_name: "XLA Linux x86 CPU",
repo: "openxla/xla",
},
{
pool: "linux-x86-g2-16-l4-1gpu",
container: "us-central1-docker.pkg.dev/tensorflow-sigs/tensorflow/ml-build:latest",
kokoro_job_name: "xla-linux-x86-gpu-t4",
pretty_name: "XLA Linux x86 GPU T4",
repo: "openxla/xla",
},
{
pool: "linux-arm64-c4a-16",
container: "us-central1-docker.pkg.dev/tensorflow-sigs/tensorflow/ml-build-arm64:latest",
kokoro_job_name: "xla-linux-arm64-cpu",
pretty_name: "XLA Linux ARM64 CPU",
repo: "openxla/xla",
},
{
pool: "linux-x86-n2-16",
container: "gcr.io/tensorflow-sigs/build:latest-python3.11",
kokoro_job_name: "jax-linux-x86-cpu",
pretty_name: "JAX Linux x86 CPU",
repo: "jax-ml/jax",
},
{
pool: "linux-x86-g2-16-l4-1gpu",
container: "gcr.io/tensorflow-sigs/build:latest-python3.11",
kokoro_job_name: "jax-linux-x86-gpu-t4",
pretty_name: "JAX Linux x86 GPU T4",
repo: "jax-ml/jax",
},
{
pool: "linux-x86-n2-16",
container: "us-central1-docker.pkg.dev/tensorflow-sigs/tensorflow/ml-build:latest",
kokoro_job_name: "tensorflow-linux-x86-cpu",
pretty_name: "TensorFlow Linux x86 CPU",
repo: "tensorflow/tensorflow",
},
{
pool: "linux-x86-g2-16-l4-1gpu",
container: "us-central1-docker.pkg.dev/tensorflow-sigs/tensorflow/ml-build:latest",
kokoro_job_name: "tensorflow-linux-x86-gpu-t4",
pretty_name: "TensorFlow Linux x86 GPU T4",
repo: "tensorflow/tensorflow",
},
]
name: ${{ matrix.job_info.pretty_name }}
runs-on: ${{ matrix.job_info.pool }}
container: ${{ matrix.job_info.container }}
defaults:
run:
shell: bash
timeout-minutes: 30
steps:
- name: "Checking out openxla/xla"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
path: "openxla/xla"
- name: Checking out ${{ matrix.job_info.repo }}
if: ${{ matrix.job_info.repo != 'openxla/xla' }}
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
repository: ${{ matrix.job_info.repo }}
path: ${{ matrix.job_info.repo }}
- name: "Run build.py"
working-directory: ${{ matrix.job_info.repo }}
env:
# TODO(ddunleavy): refactor build.py to not depend on this env var
KOKORO_JOB_NAME: ${{ matrix.job_info.kokoro_job_name }}
run: $GITHUB_WORKSPACE/openxla/xla/build_tools/ci/build.py