-
Notifications
You must be signed in to change notification settings - Fork 5
60 lines (47 loc) · 1.74 KB
/
live-testbed.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
name: Live Testbed
on:
workflow_dispatch:
inputs:
scenario:
required: true
description: The scenario to run.
default: ./examples/1.hello-world.yml
charts:
required: false
description: Space separated list of dependent Helm Charts required for the Scenario.
default: ./charts/system
jobs:
deploy-frisbee:
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v3
- name: Cache Microk8s Installation
id: cache-microk8s
uses: actions/cache@v3
with:
path: /var/snap/microk8s/
key: microk8s
- name: Install MicroK8s
if: steps.cache-microk8s.outputs.cache-hit != 'true'
uses: balchua/[email protected]
with:
channel: 'latest/stable'
addons: '["dns", "ingress", "helm3", "rbac"]'
- name: Install Frisbee
run: |
alias kubectl='microk8s kubectl'
alias helm='microk8s helm3'
# Install kubectl-frisbee
./install.sh
# Install Frisbee
./kubectl-frisbee install production -v=false
# Wait for the frisbee operator to come-up
kubectl wait pods -n frisbee -l control-plane=frisbee-operator --for condition=Ready --timeout=90s
- name: Run Frisbee Scenario
run: |
kubectl get pods -A
# Submit the job
testID=$(./kubectl-frisbee submit test demo- ${{ github.event.inputs.scenario }} ${{ github.event.inputs.charts}} --expect-success | awk /test:/'{print $4}')
./kubectl-frisbee get tests
./kubectl-frisbee inspect tests ${testID}