-
Notifications
You must be signed in to change notification settings - Fork 18
112 lines (87 loc) · 4.45 KB
/
e2e.yaml
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
name: E2E Tests
on:
workflow_dispatch: {}
push: {}
jobs:
test:
runs-on:
- banzai-runner
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install kubectl
uses: azure/setup-kubectl@v3
with:
version: "v1.22.17"
- name: Start a Kind cluster
uses: helm/[email protected]
with:
cluster_name: kind
version: "v0.19.0"
node_image: kindest/node:v1.22.17@sha256:9af784f45a584f6b28bce2af84c494d947a05bd709151466489008f80a9ce9d5
wait: "600s"
- name: Build docker image
run: |
docker build -t banzai:test-latest .
- name: Copy docker image to nodes
run: |
kind load docker-image banzai:test-latest
- name: Start banzai
run: |
kubectl create secret generic auth-token-secret --from-literal=auth-token=${{ secrets.ArchiveAuthToken }}
# Deploy banzai stack
kubectl apply -k banzai/tests/k8s
# Wait for banzai to be ready
kubectl wait --for=condition=Ready --timeout=60m pod/banzai-e2e-test
- name: Test Super Bias Creation
run: |
set +e
export START=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
kubectl exec banzai-e2e-test -c banzai-listener -- pytest -s --pyargs banzai --durations=0 --junitxml=/archive/engineering/pytest-master-bias.xml -m master_bias
EXIT_CODE=$?
# Always print logs even if (especially if?) the reduction fails
kubectl logs banzai-e2e-test -c banzai-listener --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-celery-workers --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-large-celery-workers --since-time=$START --prefix=true
# Exit with the captured status so the job properly fails or succeeds
exit $EXIT_CODE
- name: Test Super Dark Creation
run: |
set +e
export START=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
kubectl exec banzai-e2e-test -c banzai-listener -- pytest -s --pyargs banzai --durations=0 --junitxml=/archive/engineering/pytest-master-dark.xml -m master_dark
EXIT_CODE=$?
# Always print logs even if (especially if?) the reduction fails
kubectl logs banzai-e2e-test -c banzai-listener --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-celery-workers --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-large-celery-workers --since-time=$START --prefix=true
# Exit with the captured status so the job properly fails or succeeds
exit $EXIT_CODE
- name: Test Super Flat Creation
run: |
set +e
export START=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
kubectl exec banzai-e2e-test -c banzai-listener -- pytest -s --pyargs banzai --durations=0 --junitxml=/archive/engineering/pytest-master-flat.xml -m master_flat
EXIT_CODE=$?
# Always print logs even if (especially if?) the reduction fails
kubectl logs banzai-e2e-test -c banzai-listener --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-celery-workers --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-large-celery-workers --since-time=$START --prefix=true
# Exit with the captured status so the job properly fails or succeeds
exit $EXIT_CODE
- name: Test Science Frame Creation
run: |
set +e
export START=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
kubectl exec banzai-e2e-test -c banzai-listener -- pytest -s --pyargs banzai --durations=0 --junitxml=/archive/engineering/pytest-science-files.xml -m science_files
EXIT_CODE=$?
# Always print logs even if (especially if?) the reduction fails
kubectl logs banzai-e2e-test -c banzai-listener --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-celery-workers --since-time=$START --prefix=true
kubectl logs banzai-e2e-test -c banzai-large-celery-workers --since-time=$START --prefix=true
# Exit with the captured status so the job properly fails or succeeds
exit $EXIT_CODE
- name: Cleanup
run: |
kubectl delete service --selector=group=banzai-e2e-test
kubectl delete deployment --selector=group=banzai-e2e-test