Remove openssl from flake #1125
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: | |
windows-cargo-tests: | |
# The type of runner that the job will run on. | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
with: | |
fetch-depth: 0 | |
- name: Compile on windows | |
run: cargo build --all | |
- name: Test on windows | |
run: cargo test --all | |
cargo-tests: | |
# The type of runner that the job will run on. | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
# Which OS versions we will test on. | |
os_version: [ 20.04, 22.04 ] | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
- uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: ./deployment-examples/docker-compose/Dockerfile | |
build-args: | | |
OS_VERSION=${{ matrix.os_version }} | |
load: true # This brings the build into `docker images` from buildx. | |
tags: trace_machina/native-link:dependencies | |
target: dependencies | |
- name: Create container for cargo | |
run: | | |
docker run --name=native-link-cargo trace_machina/native-link:dependencies bash -c ' \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y curl libssl-dev gcc pkg-config python3 && \ | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=1.70.0 \ | |
' && \ | |
docker commit native-link-cargo trace_machina/native-link:cargo | |
- name: Check Cargo.toml is up to date | |
run: | | |
docker run --rm -w /root/native-link -v $PWD:/root/native-link trace_machina/native-link:cargo python3 ./tools/build_cargo_manifest.py && \ | |
git diff --exit-code || \ | |
(echo "Cargo.toml is out of date. Please run: python ./tools/build_cargo_manifest.py" && exit 1) | |
- name: Compile & test with cargo | |
run: | | |
docker run --rm -w /root/native-link -v $PWD:/root/native-link trace_machina/native-link:cargo bash -c ' \ | |
. /root/.cargo/env && \ | |
cargo build --all && \ | |
cargo test --all \ | |
' | |
docker-compose-compiles-native-link: | |
# The type of runner that the job will run on. | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
# Which OS versions we will test on. | |
os_version: [ 20.04, 22.04 ] | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
- uses: docker/build-push-action@v4 | |
with: | |
context: . | |
file: ./deployment-examples/docker-compose/Dockerfile | |
build-args: | | |
OPT_LEVEL=opt | |
OS_VERSION=${{ matrix.os_version }} | |
ADDITIONAL_SETUP_WORKER_CMD=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/native-link:latest | |
- uses: docker/build-push-action@v4 | |
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/native-link:builder | |
target: builder | |
- name: Compile Native Link with Native Link | |
run: | | |
mkdir -p ~/.cache && \ | |
cd deployment-examples/docker-compose && \ | |
docker-compose up -d && \ | |
cd ../../ && \ | |
docker run --rm --net=host -w /root/native-link -v $PWD:/root/native-link trace_machina/native-link:builder sh -c ' \ | |
bazel clean && \ | |
bazel test //... \ | |
--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/native-link -v $PWD:/root/native-link trace_machina/native-link:builder sh -c ' \ | |
bazel clean && \ | |
bazel test //... \ | |
--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: | |
- uses: actions/checkout@v3.5.3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-buildx-action@v2 | |
- uses: docker/build-push-action@v4 | |
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/native-link:latest | |
- name: Run tests | |
run: ./run_integration_tests.sh |