Skip to content

Commit ea5048d

Browse files
authored
Bump version of iter8 chart (#1594)
* Bump version Signed-off-by: Alan Cha <[email protected]> * Extend time for experiments to run and verifyuserexperience workflow Signed-off-by: Alan Cha <[email protected]> --------- Signed-off-by: Alan Cha <[email protected]>
1 parent 2de31b7 commit ea5048d

File tree

6 files changed

+470
-615
lines changed

6 files changed

+470
-615
lines changed

.github/workflows/releaseassets.yaml

Lines changed: 5 additions & 213 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
name: Publish binaries and Docker image
1+
name: Release binaries and Docker image
22

33
# Runs when a release is published
44

55
# Build and publish binaries and release Docker image
6-
# Test Docker image
6+
#
7+
# NOTE: completion of this task will trigger verifyuserexperience.yaml
8+
# which will test the released image (with released charts)
79

810
on:
911
release:
@@ -89,214 +91,4 @@ jobs:
8991
tags: ${{ env.OWNER }}/iter8:${{ env.VERSION }},${{ env.OWNER }}/iter8:${{ env.MAJOR_MINOR_VERSION }},${{ env.OWNER }}/iter8:latest
9092
push: true
9193
build-args: |
92-
TAG=v${{ env.VERSION }}
93-
94-
kubernetes-http-experiment:
95-
name: Kubernetes HTTP load test
96-
needs: build-and-push
97-
runs-on: ubuntu-latest
98-
steps:
99-
- name: Install Iter8
100-
run: GOBIN=/usr/local/bin go install github.com/iter8-tools/[email protected]
101-
- name: Start kind cluster
102-
uses: helm/[email protected]
103-
with:
104-
wait: 300s
105-
- name: Create httpbin application
106-
run: |
107-
kubectl create deployment httpbin --image=kennethreitz/httpbin
108-
kubectl expose deployment httpbin --type=ClusterIP --port=80
109-
kubectl wait --for=condition=available --timeout=60s deploy/httpbin
110-
- name: Install controller
111-
run: |
112-
helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
113-
kubectl rollout status --watch --timeout=60s statefulset/iter8
114-
- name: iter8 k launch
115-
run: |
116-
iter8 k launch \
117-
--set tasks={http} \
118-
--set http.url="http://httpbin.default/get" \
119-
--set logLevel=trace
120-
kubectl wait --for=condition=complete --timeout=60s job/default-1-job
121-
122-
- name: Get Kubernetes status
123-
run: |
124-
kubectl get all
125-
126-
- name: Try other iter8 k commands
127-
run: |
128-
iter8 k log
129-
iter8 k delete
130-
- name: Check GET /httpDashboard
131-
run: |
132-
curl "http://localhost:8080/httpDashboard?namespace=default&experiment=default" -f
133-
134-
kubernetes-grpc-experiment:
135-
name: Kubernetes gRPC load test
136-
needs: build-and-push
137-
runs-on: ubuntu-latest
138-
steps:
139-
- name: Install Iter8
140-
run: GOBIN=/usr/local/bin go install github.com/iter8-tools/[email protected]
141-
- name: Start kind cluster
142-
uses: helm/[email protected]
143-
with:
144-
wait: 300s
145-
- name: Create routeguide application
146-
run: |
147-
kubectl create deployment routeguide --image=golang --port=50051 \
148-
-- bash -c "git clone -b v1.52.0 --depth 1 https://github.com/grpc/grpc-go; cd grpc-go/examples/route_guide; sed -i "''" "'"s/localhost//"'" server/server.go; go run server/server.go"
149-
kubectl expose deployment routeguide --port=50051
150-
kubectl wait --for=condition=available --timeout=60s deployment/routeguide
151-
- name: Install controller
152-
run: |
153-
helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
154-
kubectl rollout status --watch --timeout=60s statefulset/iter8
155-
- name: Test gRPC service with grpcurl
156-
run: |
157-
curl -sO https://gist.githubusercontent.com/kalantar/510737f0fd58c0432a08e5b6e45ec97f/raw/524d6660284bf653ce0f29f3a25ed0e913c3df80/grpcurl-routeguide.yaml
158-
kubectl apply -f grpcurl-routeguide.yaml
159-
sleep 180
160-
kubectl logs deploy/sleep
161-
- name: iter8 k launch
162-
run: |
163-
iter8 k launch \
164-
--set tasks={grpc} \
165-
--set grpc.host=routeguide.default:50051 \
166-
--set grpc.protoURL=https://raw.githubusercontent.com/grpc/grpc-go/v1.52.0/examples/route_guide/routeguide/route_guide.proto \
167-
--set grpc.call=routeguide.RouteGuide.GetFeature \
168-
--set grpc.dataURL=https://raw.githubusercontent.com/iter8-tools/docs/v0.13.13/samples/grpc-payload/unary.json \
169-
--set logLevel=trace
170-
kubectl wait --for=condition=complete --timeout=60s job/default-1-job
171-
172-
- name: Get Kubernetes status
173-
run: |
174-
kubectl get all
175-
176-
- name: Try other iter8 k commands
177-
run: |
178-
iter8 k log
179-
iter8 k delete
180-
- name: Check GET /grpcDashboard
181-
run: |
182-
curl "http://localhost:8080/grpcDashboard?namespace=default&experiment=default" -f
183-
184-
kubernetes-grpc-experiment2:
185-
name: Kubernetes gRPC load test 2
186-
needs: build-and-push
187-
runs-on: ubuntu-latest
188-
steps:
189-
- name: Install Iter8
190-
run: GOBIN=/usr/local/bin go install github.com/iter8-tools/[email protected]
191-
- name: Start kind cluster
192-
uses: helm/[email protected]
193-
with:
194-
wait: 300s
195-
- name: Create hello application
196-
run: |
197-
kubectl create deploy hello --image=docker.io/grpc/java-example-hostname:latest --port=50051
198-
kubectl expose deploy hello --port=50051
199-
kubectl wait --for=condition=available --timeout=60s deploy/hello
200-
- name: Install controller
201-
run: |
202-
helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
203-
kubectl rollout status --watch --timeout=60s statefulset/iter8
204-
- name: iter8 k launch
205-
run: |
206-
iter8 k launch \
207-
--set tasks={grpc} \
208-
--set grpc.host="hello.default:50051" \
209-
--set grpc.call="helloworld.Greeter.SayHello" \
210-
--set grpc.protoURL="https://raw.githubusercontent.com/grpc/grpc-go/master/examples/helloworld/helloworld/helloworld.proto" \
211-
--set logLevel=trace
212-
kubectl wait --for=condition=complete --timeout=60s job/default-1-job
213-
214-
- name: Get Kubernetes status
215-
run: |
216-
kubectl get all
217-
218-
- name: Try other iter8 k commands
219-
run: |
220-
iter8 k log
221-
iter8 k delete
222-
- name: Check GET /grpcDashboard
223-
run: |
224-
curl "http://localhost:8080/grpcDashboard?namespace=default&experiment=default" -f
225-
226-
readiness:
227-
name: Kubernetes readiness test
228-
needs: build-and-push
229-
runs-on: ubuntu-latest
230-
steps:
231-
- name: Install Iter8
232-
run: GOBIN=/usr/local/bin go install github.com/iter8-tools/[email protected]
233-
- name: Start kind cluster
234-
uses: helm/[email protected]
235-
with:
236-
wait: 300s
237-
- name: Create httpbin application
238-
run: |
239-
kubectl create deploy httpbin --image=kennethreitz/httpbin --port=80
240-
kubectl expose deploy httpbin --port=80
241-
- name: Install controller
242-
run: |
243-
helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
244-
kubectl rollout status --watch --timeout=60s statefulset/iter8
245-
- name: k launch with readiness checks
246-
run: |
247-
iter8 k launch \
248-
--set "tasks={ready,http}" \
249-
--set ready.deploy="httpbin" \
250-
--set ready.service="httpbin" \
251-
--set ready.timeout=60s \
252-
--set http.url=http://httpbin.default/get \
253-
--set logLevel=trace
254-
kubectl wait --for=condition=complete --timeout=60s job/default-1-job
255-
256-
- name: Get Kubernetes status
257-
run: |
258-
kubectl get all
259-
260-
- name: Check GET /httpDashboard
261-
run: |
262-
curl "http://localhost:8080/httpDashboard?namespace=default&experiment=default" -f
263-
264-
readiness-with-namespace:
265-
name: Kubernetes readiness test with namespace
266-
needs: build-and-push
267-
runs-on: ubuntu-latest
268-
steps:
269-
- name: Install Iter8
270-
run: GOBIN=/usr/local/bin go install github.com/iter8-tools/[email protected]
271-
- name: Start kind cluster
272-
uses: helm/[email protected]
273-
with:
274-
wait: 300s
275-
- name: Create httpbin application
276-
run: |
277-
kubectl create deploy httpbin --image=kennethreitz/httpbin --port=80
278-
kubectl expose deploy httpbin --port=80
279-
kubectl create namespace experiments
280-
- name: Install controller
281-
run: |
282-
helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
283-
kubectl rollout status --watch --timeout=60s statefulset/iter8
284-
- name: k launch with readiness checks
285-
run: |
286-
iter8 k launch -n experiments \
287-
--set "tasks={ready,http}" \
288-
--set ready.deploy="httpbin" \
289-
--set ready.service="httpbin" \
290-
--set ready.timeout=60s \
291-
--set ready.namespace=default \
292-
--set http.url=http://httpbin.default/get \
293-
--set logLevel=trace
294-
kubectl wait --for=condition=complete --timeout=60s job/default-1-job
295-
296-
- name: Get Kubernetes status
297-
run: |
298-
kubectl get all
299-
300-
- name: Check GET /httpDashboard
301-
run: |
302-
curl "http://localhost:8080/httpDashboard?namespace=default&experiment=default" -f
94+
TAG=v${{ env.VERSION }}

0 commit comments

Comments
 (0)