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: Print gateways | |
run: > | |
nix develop --impure --command | |
bash -c "kubectl get gtw" | |
- name: Get gateway IPs | |
id: gateway-ips | |
run: > | |
nix develop --impure --command | |
bash -c " | |
cache_ip=$(kubectl get gtw cache -o=jsonpath='{.status.addresses[0].value}') | |
echo 'Cache IP: $cache_ip' | |
echo 'cache_ip=$cache_ip' >> $GITHUB_ENV | |
scheduler_ip=$(kubectl get gtw scheduler -o=jsonpath='{.status.addresses[0].value}') | |
echo 'Scheduler IP: $scheduler_ip' | |
echo 'scheduler_ip=$scheduler_ip' >> $GITHUB_ENV" | |
- name: Print gateways again | |
run: | | |
echo 'Cache IP: $cache_ip' | |
echo 'Scheduler IP: $scheduler_ip' | |
- 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" |