Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ common --@rules_swiftnav//cc:enable_bzlmod=true
# Preparation for Bazel 8 behavior of paths in external (plus instead of tilde)
common --incompatible_use_plus_in_repo_names

# This is an open source project and we want to test BuildBuddy integration
build --bes_results_url=https://app.buildbuddy.io/invocation/
build --bes_backend=grpcs://remote.buildbuddy.io

build:rbe --platforms=//:docker_image_platform
build:rbe --host_platform=//:docker_image_platform
build:rbe --remote_cache=grpcs://remote.buildbuddy.io
build:rbe --remote_timeout=10m

build:rbe_readonly --config=rbe
build:rbe_readonly --noremote_upload_local_results

# Don't let environment variables pollute the build
# PATH is part of the action input and can lead to massive cache misses
build --incompatible_strict_action_env
Expand Down
209 changes: 5 additions & 204 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,122 +11,6 @@ concurrency:
cancel-in-progress: true

jobs:

ubuntu-gcc11:
runs-on: ubuntu-22.04
steps:

- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- name: Install gcc-11
run: |
sudo apt-get update
sudo apt-get install build-essential software-properties-common libsuitesparse-dev -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
sudo apt-get install gcc-11 g++-11 -y
gcc -v
- name: Run build
env:
CC: gcc-11
CXX: g++-11
TESTENV: gcc11
GCCVER: "11"
run: |
bash ./ci/run_tests.sh
bash ./ci/ensure_copyright.sh

ubuntu-clang14:
runs-on: ubuntu-22.04
steps:

- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- name: Install clang-14
run: |
sudo apt-get update
sudo apt-get install build-essential software-properties-common libsuitesparse-dev -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
sudo apt-get install clang-14 -y
gcc -v
- name: Run build
env:
CC: clang-14
CXX: clang++-14
TESTENV: clang14
run: |
bash ./ci/run_tests.sh
bash ./ci/ensure_copyright.sh

ubuntu-clang14-sanitizers:
runs-on: ubuntu-22.04
strategy:
matrix:
test:
- { name: "address-undefined-leak", script: "./ci/run_address_sanitizer_tests.sh" }
- { name: "thread", script: "./ci/run_thread_sanitizer_tests.sh" }
# Memory sanitizer is not run because it requires building a
# custom instrumented libc.
steps:
- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- name: Install clang-14
run: |
sudo apt-get update
sudo apt-get install build-essential software-properties-common libsuitesparse-dev -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update
sudo apt-get install clang-14 -y
clang -v
- name: Run (${{ matrix.test.name }}) sanitizer tests
env:
CC: clang-14
CXX: clang++-14
TESTENV: clang14
run: |
bash "${{ matrix.test.script }}"

format:
runs-on: ubuntu-22.04
steps:

- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- uses: bazel-contrib/[email protected]

- uses: extractions/netrc@v2
with:
machine: raw.githubusercontent.com
username: ${{ secrets.GH_NAME }}
password: ${{ secrets.GH_TOKEN }}

- name: Mount bazel cache
uses: actions/cache@v4
with:
path: "~/.cache/bazel"
key: format

- name: Format
run: bazel build --config=clang-format-check //...


bazel:
runs-on: ubuntu-22.04
steps:
Expand All @@ -145,91 +29,8 @@ jobs:
username: ${{ secrets.GH_NAME }}
password: ${{ secrets.GH_TOKEN }}

- name: Mount bazel cache
uses: actions/cache@v4
with:
path: "~/.cache/bazel"
key: bazel

- name: Build and test
run: bazel test //...

osx-clang:
runs-on: macOS-14
steps:

- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- name: check clang
run: |
clang --version
- name: install suite-sparse
run: |
brew install suite-sparse
- name: Run build
env:
CC: clang
CXX: clang++
TESTENV: clang
run: |
bash ./ci/run_tests.sh

ubuntu-build-documentation:
runs-on: "ubuntu-22.04"
defaults:
run:
shell: bash -l {0}
steps:
- uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
auto-activate-base: false
- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- name: Install Prerequisites
run: |
sudo apt-get update
sudo apt-get install build-essential software-properties-common -y
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update

- name: Build Docs
run: |
conda env create --file ./ci/albatross_docs_environment.yml
conda activate albatross
cd doc
make html

clang-tidy:
runs-on: ubuntu-22.04
steps:

- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
ssh-key: ${{ secrets.SSH_KEY }}

- name: Install clang-tools-14
run: |
sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install clang-14 clang-tools-14 clang-tidy-14 && \
sudo ln -s /usr/bin/clang-apply-replacements-14 /usr/local/bin/clang-apply-replacements
- name: Run build
continue-on-error: true
env:
CC: clang-14
CXX: clang++-14
run: |
bash ./ci/run_tidy.sh
- name: Build
run: bazel build --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_TEST }} --remote_executor=grpcs://remote.buildbuddy.io --config=rbe //...

- name: Test
run: bazel test --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_TEST }} --remote_executor=grpcs://remote.buildbuddy.io --config=rbe //:standalone_test
23 changes: 23 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -472,3 +472,26 @@ test_suite(
":albatross-test-misc",
],
)

swift_cc_test(
name = "standalone_test",
srcs = ["tests/standalone_test.cc"],
includes = ["tests"],
local_defines = ["CSV_IO_NO_THREAD"],
type = UNIT,
deps = ["@gtest//:gtest_main"],
standard=17,
)

platform(
name = "docker_image_platform",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:linux",
],
exec_properties = {
"OSFamily": "Linux",
"dockerNetwork": "off",
"container-image": "docker://gcr.io/flame-public/rbe-ubuntu20-04:latest",
},
)
5 changes: 5 additions & 0 deletions tests/standalone_test.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#include <gtest/gtest.h>

TEST(StandaloneTest, SampleTest) {
EXPECT_EQ(1 + 1, 2);
}