Skip to content

Workflow file for this run

---
name: Local Remote Execution
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions: read-all
jobs:
local:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
name: Local / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: >- # v4.1.1
actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Install Nix
uses: >- #v7
DeterminateSystems/nix-installer-action@5620eb4af6b562c53e4d4628c0b6e4f9d9ae8612
- name: Cache Nix derivations
uses: >- # Custom commit, last pinned at 2023-11-17.
DeterminateSystems/magic-nix-cache-action@a04e6275a6bea232cd04fc6f3cbf20d4cb02a3e1
- name: Build hello_lre with LRE toolchain.
run: >
nix develop --impure --command
bash -c "bazel run \
--config=lre \
--verbose_failures \
//local-remote-execution/examples:hello_lre"
remote:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
name: Remote / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: >- # v4.1.1
actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
- name: Install Nix
uses: >- #v7
DeterminateSystems/nix-installer-action@5620eb4af6b562c53e4d4628c0b6e4f9d9ae8612
- name: Cache Nix derivations
uses: >- # Custom commit, last pinned at 2023-11-17.
DeterminateSystems/magic-nix-cache-action@a04e6275a6bea232cd04fc6f3cbf20d4cb02a3e1
- name: Start Kubernetes cluster
run: >
nix develop --impure --command
bash -c "cd deployment-examples/kubernetes \
&& ./00_infra.sh \
&& ./01_operations.sh \
&& kubectl apply -k . \
&& kubectl rollout status deploy/native-link-cas \
&& kubectl rollout status deploy/native-link-scheduler \
&& kubectl rollout status deploy/native-link-worker"
- name: Get gateway IPs
id: gateway-ips
run: |
echo "cache_ip=$(kubectl get gtw cache -o=jsonpath='{.status.addresses[0].value}')" >> "$GITHUB_ENV"
echo "scheduler_ip=$(kubectl get gtw scheduler -o=jsonpath='{.status.addresses[0].value}')" >> "$GITHUB_ENV"
- name: Print cluster state
run: |
kubectl get svc -A
kubectl get pod -A
kubectl get svc -A
kubectl get deployments -A
kubectl describe gtw
echo "cas"
kubectl logs -l app=native-link-cas
echo "scheduler"
kubectl logs -l app=native-link-scheduler
echo "worker"
kubectl logs -l app=native-link-worker
- name: Build hello_lre with LRE toolchain.
run: >
nix develop --impure --command
bash -c "bazel run \
--config=lre \
--remote_instance_name=main \
--remote_cache=grpc://$cache_ip:50051 \
--remote_executor=grpc://$scheduler_ip:50052 \
--verbose_failures \
//local-remote-execution/examples:hello_lre"