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: 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 ." | |
- 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: 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" |