backport v0.1 changes #2067
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
# Controls when the workflow will run. | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
docker-compose-compiles-nativelink: | |
# The type of runner that the job will run on. | |
runs-on: large-ubuntu-22.04 | |
strategy: | |
matrix: | |
# Which OS versions we will test on. | |
os_version: [ 20.04, 22.04 ] | |
steps: | |
- name: Checkout | |
uses: >- # v4.1.1 | |
actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- name: Set up Docker Buildx | |
uses: >- # v3.1.0 | |
docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c | |
- name: Build Nativelink image | |
uses: >- # v5.1.0 | |
docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 | |
with: | |
context: . | |
file: ./deployment-examples/docker-compose/Dockerfile | |
build-args: | | |
OPT_LEVEL=opt | |
OS_VERSION=${{ matrix.os_version }} | |
ADDITIONAL_SETUP_WORKER_CMD=apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y gcc g++ lld pkg-config python3 | |
load: true # This brings the build into `docker images` from buildx. | |
tags: trace_machina/nativelink:latest | |
- name: Build builder image | |
uses: >- # v5.1.0 | |
docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 | |
with: | |
context: . | |
file: ./deployment-examples/docker-compose/Dockerfile | |
build-args: | | |
OPT_LEVEL=opt | |
OS_VERSION=${{ matrix.os_version }} | |
load: true # This brings the build into `docker images` from buildx. | |
tags: trace_machina/nativelink:builder | |
target: builder | |
- name: Compile NativeLink with NativeLink | |
run: | | |
mkdir -p ~/.cache && \ | |
cd deployment-examples/docker-compose && \ | |
docker-compose up -d && \ | |
cd ../../ && \ | |
docker run --rm --net=host -w /root/nativelink -v $PWD:/root/nativelink trace_machina/nativelink:builder sh -c ' \ | |
bazel clean && \ | |
bazel test --config=linux_zig //... \ | |
--remote_instance_name=main \ | |
--remote_cache=grpc://127.0.0.1:50051 \ | |
--remote_executor=grpc://127.0.0.1:50052 \ | |
--remote_default_exec_properties=cpu_count=1 \ | |
' && \ | |
docker run --rm --net=host -w /root/nativelink -v $PWD:/root/nativelink trace_machina/nativelink:builder sh -c ' \ | |
bazel clean && \ | |
bazel test --config=linux_zig //... \ | |
--remote_instance_name=main \ | |
--remote_cache=grpc://127.0.0.1:50051 \ | |
--remote_executor=grpc://127.0.0.1:50052 \ | |
--remote_default_exec_properties=cpu_count=1 \ | |
' 2>&1 | ( ! grep ' PASSED in ' ) # If we get PASSED without (cache) it means there's a cache issue. | |
integration-tests: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
# Which OS versions we will test on. | |
os_version: [ 20.04, 22.04 ] | |
steps: | |
- name: Checkout | |
uses: >- # v4.1.1 | |
actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- name: Set up Docker Buildx | |
uses: >- # v3.1.0 | |
docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c | |
- name: Build image | |
uses: >- # v5.1.0 | |
docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 | |
with: | |
context: . | |
file: ./deployment-examples/docker-compose/Dockerfile | |
build-args: | | |
OPT_LEVEL=fastbuild | |
OS_VERSION=${{ matrix.os_version }} | |
load: true # This brings the build into `docker images` from buildx. | |
tags: trace_machina/nativelink:latest | |
- name: Run tests | |
run: ./run_integration_tests.sh |