K8s CI #18
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: K8s CI | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * 1' | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_LOG: INFO | |
jobs: | |
tests: | |
runs-on: ubuntu-22.04-32core | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: taiki-e/install-action@just | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Setup Kurtosis | |
run: | | |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list | |
sudo apt update | |
sudo apt install kurtosis-cli | |
kurtosis analytics disable | |
- name: Setup Minikube | |
uses: medyagh/setup-minikube@latest | |
- name: Get Kubeconfig | |
id: kubeconfig | |
shell: bash | |
run: | | |
cat ~/.kube/config > kubeconfig | |
echo "kubeconfig=$(cat kubeconfig | base64 -w 0)" >> $GITHUB_OUTPUT | |
- name: Configure Kubernetes Backend | |
shell: bash | |
run: | | |
kubectl config use-context minikube | |
kubectl get nodes | |
echo "Kubernetes engine is ready!" | |
kurtosis_config=$(kurtosis config path) | |
echo "config-version: 2" > $kurtosis_config | |
echo "should-send-metrics: false" >> $kurtosis_config | |
echo "kurtosis-clusters:" >> $kurtosis_config | |
echo " docker:" >> $kurtosis_config | |
echo " type: \"docker\"" >> $kurtosis_config | |
echo " minikube:" >> $kurtosis_config | |
echo " type: \"kubernetes\"" >> $kurtosis_config | |
echo " config:" >> $kurtosis_config | |
echo " kubernetes-cluster-name: \"minikube\"" >> $kurtosis_config | |
echo " storage-class: \"standard\"" >> $kurtosis_config | |
echo " enclave-size-in-megabytes: 200" >> $kurtosis_config | |
cat $kurtosis_config | |
kurtosis cluster set minikube | |
- name: Run kurtosis gateway in background | |
uses: JarvusInnovations/background-action@v1 | |
with: | |
run: | | |
kurtosis gateway | |
wait-on: | | |
tcp:localhost:9710 | |
- name: Check kurtosis engine in kubernetes cluster | |
shell: bash | |
run: | | |
kurtosis engine status | |
kurtosis enclave ls || ( kurtosis engine restart && kurtosis enclave ls ) | |
- name: Setup Devnet | |
run: | | |
eval $(minikube -p minikube docker-env) | |
just devnet-up | |
- name: Block Building | |
run: | | |
just assertor -b | |
- name: Fallback | |
run: | | |
just assertor -f | |
- name: Devnet Down | |
run: | | |
just devnet-down |