Skip to content

chore(deps): update dependency boringssl to v0.20260803.0 - autoclosed #3199

chore(deps): update dependency boringssl to v0.20260803.0 - autoclosed

chore(deps): update dependency boringssl to v0.20260803.0 - autoclosed #3199

Workflow file for this run

name: Tests
on:
push:
branches: [master]
pull_request:
branches: [master]
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions: read-all
jobs:
lint:
runs-on: ubuntu-latest
permissions:
checks: write # For trunk to post annotations
contents: read # For repo checkout
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Trunk Check
uses: trunk-io/trunk-action@v1
test:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
bazel_version: [7.*, 8.*, 9.*, latest]
bzlmod: [true, false]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- if: startsWith(matrix.os, 'ubuntu')
run: tests/scripts/ubuntu_install_libtinfo.sh
- run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android
- name: Test
env:
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
USE_BZLMOD: ${{ matrix.bzlmod }}
run: tests/scripts/run_tests.sh -O
toolchain_test:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
bazel_version: [7.*, 8.*, 9.*, latest]
bzlmod: [true, false]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- name: Test
env:
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
USE_BZLMOD: ${{ matrix.bzlmod }}
run: tests/scripts/run_toolchain_tests.sh
external_test:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
bazel_version: [8.*, latest]
bzlmod: [true, false]
stdlib: [default, libc++, stdc++, dynamic-stdc++]
exclude:
- os: macos-latest
stdlib: libc++ # Needs to be installed first
- os: macos-latest
stdlib: stdc++ # Needs to be installed first
- os: macos-latest
stdlib: dynamic-stdc++ # Needs to be installed first
- bazel_version: latest
bzlmod: false
- bzlmod: false # Only test the default stdlib: builtin-libc++
stdlib: libc++
- bzlmod: false
stdlib: stdc++
- bzlmod: false
stdlib: dynamic-stdc++
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- if: startsWith(matrix.os, 'ubuntu')
run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Test (${{ matrix.stdlib }})
env:
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
USE_BZLMOD: ${{ matrix.bzlmod }}
TEST_STDLIB: ${{ matrix.stdlib }}
run: tests/scripts/run_external_tests.sh
container_test:
strategy:
fail-fast: false
matrix:
script: [
archlinux,
debian,
fedora,
suse_leap,
suse_tumbleweed,
ubuntu_20_04, # Includes omp tests
ubuntu_22_04,
ubuntu_24_04,
linux_sysroot,
]
bzlmod: [true, false]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android
- name: Test
env:
USE_BZLMOD: ${{ matrix.bzlmod }}
run: tests/scripts/${{ matrix.script }}_test.sh
xcompile_test:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
bzlmod: [true, false]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- if: startsWith(matrix.os, 'ubuntu')
run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Test
env:
USE_BZLMOD: ${{ matrix.bzlmod }}
run: tests/scripts/run_xcompile_tests.sh
abs_paths_test:
strategy:
fail-fast: false
matrix:
bzlmod: [true, false]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Test
env:
USE_BZLMOD: ${{ matrix.bzlmod }}
run: tests/scripts/run_tests.sh -t @llvm_toolchain_with_absolute_paths//:cc-toolchain-x86_64-linux -O
sys_paths_test:
strategy:
fail-fast: false
matrix:
bzlmod: [true, false]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: tests/scripts/ubuntu_install_libtinfo.sh
- name: Download and Extract LLVM distribution
# The downloaded version here must match version specified as '-v' arg to run_tests.sh below.
env:
release: llvmorg-16.0.0
archive: clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04
ext: .tar.xz
local_path: /opt/llvm-16
run: wget --no-verbose "https://github.com/llvm/llvm-project/releases/download/${release}/${archive}${ext}" && tar -xf "${archive}${ext}" && mv "${archive}" "${local_path}"
- name: Test
env:
USE_BZLMOD: ${{ matrix.bzlmod }}
run: tests/scripts/run_tests.sh -t @llvm_toolchain_with_system_llvm//:cc-toolchain-x86_64-linux -v 16.0.0
msan_test:
# End-to-end MemorySanitizer test. Downloads a full clang + an
# instrumented-libc++ overlay and builds/runs an msan binary, exercising the
# instrumented-libc++ swap end to end. Linux/x86_64 and bzlmod only (the
# overlay toolchain is defined via bzlmod). The bazel-version matrix covers
# both filegroup layouts: <9 uses lib_legacy/include, 9+ uses
# lib/cxx_builtin_include (merkle_cache_v2).
strategy:
fail-fast: false
matrix:
bazel_version: [7.*, 8.*, 9.*, latest]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: tests/scripts/ubuntu_install_libtinfo.sh
- run: sudo rm -rf /usr/share/dotnet /usr/local/lib/android
- name: Test
env:
USE_BAZEL_VERSION: ${{ matrix.bazel_version }}
USE_BZLMOD: true
run: tests/scripts/run_msan_tests.sh
# Single aggregating gate for branch protection. It depends on every job that
# must pass, so "required_checks_done" is the only status check that needs to
# be marked "required" on the master branch -- adding or renaming a job above
# no longer means editing branch protection, only this job's `needs` list.
# When any dependency fails or is cancelled, this job fails and names the
# offending jobs in its log and in the run summary.
required_checks_done:
name: required_checks_done
needs:
- lint
- test
- toolchain_test
- external_test
- container_test
- xcompile_test
- abs_paths_test
- sys_paths_test
- msan_test
if: always()
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Ensure every job is wired into this gate
env:
NEEDS_JSON: ${{ toJSON(needs) }}
run: |
# Parse the workflow with a real YAML reader (yq) and fail if any
# declared job (other than this gate) is absent from `needs` above, so
# a newly added job cannot silently escape the required gate.
declared="$(yq '.jobs | keys | .[]' .github/workflows/tests.yml |
grep -vx required_checks_done | sort)"
wired="$(jq -r 'keys[]' <<<"${NEEDS_JSON}" | sort)"
missing="$(comm -23 <(printf '%s\n' "${declared}") <(printf '%s\n' "${wired}"))"
if [[ -n "${missing}" ]]; then
echo "Jobs declared in the workflow but missing from required_checks_done.needs:"
while read -r job; do
echo " - ${job}"
echo "::error title=Gate is missing a job::${job} not in required_checks_done.needs"
done <<<"${missing}"
exit 1
fi
echo "required_checks_done covers all $(grep -c . <<<"${declared}") workflow jobs."
- name: Verify required jobs succeeded
env:
NEEDS_JSON: ${{ toJSON(needs) }}
run: |
{
echo "| Required job | Result |"
echo "| --- | --- |"
jq -r 'to_entries[] | "| \(.key) | \(.value.result) |"' <<<"${NEEDS_JSON}"
} >>"${GITHUB_STEP_SUMMARY}"
failed="$(jq -r 'to_entries[]
| select(.value.result != "success" and .value.result != "skipped")
| .key' <<<"${NEEDS_JSON}")"
if [[ -n "${failed}" ]]; then
echo "The following required jobs did not succeed:"
while read -r job; do
echo " - ${job}"
echo "::error title=Required job failed::${job} did not succeed"
done <<<"${failed}"
exit 1
fi
echo "All required jobs succeeded."