Repository: iter8-tools/iter8
Pull request #1593 (2023-08-25 15:23:28)

Bump versions and add verifyuserexperience workflow


Patch:
diff --git a/.github/workflows/releaseassets.yaml b/.github/workflows/releaseassets.yaml
index 66c221f5..89cb08a5 100644
--- a/.github/workflows/releaseassets.yaml
+++ b/.github/workflows/releaseassets.yaml
@@ -91,4 +91,4 @@ jobs:
         tags: ${{ env.OWNER }}/iter8:${{ env.VERSION }},${{ env.OWNER }}/iter8:${{ env.MAJOR_MINOR_VERSION }},${{ env.OWNER }}/iter8:latest
         push: true
         build-args: |
-          TAG=v${{ env.VERSION }}
\ No newline at end of file
+          TAG=v${{ env.VERSION }}
diff --git a/.github/workflows/releasecharts.yaml b/.github/workflows/releasecharts.yaml
index d34d8880..65d741ec 100644
--- a/.github/workflows/releasecharts.yaml
+++ b/.github/workflows/releasecharts.yaml
@@ -40,4 +40,4 @@ jobs:
       with:
         config: config.yaml
       env:
-        CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
\ No newline at end of file
+        CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
diff --git a/.github/workflows/verifyuserexperience.yaml b/.github/workflows/verifyuserexperience.yaml
index 36de7308..e185dffa 100644
--- a/.github/workflows/verifyuserexperience.yaml
+++ b/.github/workflows/verifyuserexperience.yaml
@@ -67,7 +67,7 @@ jobs:
 
     steps:
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
 
     - name: Start kind cluster
       uses: helm/kind-action@v1.5.0
@@ -117,7 +117,7 @@ jobs:
 
     steps:
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
 
     - name: Start kind cluster
       uses: helm/kind-action@v1.5.0
@@ -232,7 +232,7 @@ jobs:
 
     steps:
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
 
     - name: Start kind cluster
       uses: helm/kind-action@v1.5.0
@@ -297,7 +297,7 @@ jobs:
 
     steps:
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
 
     - name: Start kind cluster
       uses: helm/kind-action@v1.5.0
diff --git a/base/util.go b/base/util.go
index a93f8e0a..2b8aee1d 100644
--- a/base/util.go
+++ b/base/util.go
@@ -19,11 +19,11 @@ import (
 
 // MajorMinor is the minor version of Iter8
 // set this manually whenever the major or minor version changes
-var MajorMinor = "v0.15"
+var MajorMinor = "v0.16"
 
 // Version is the semantic version of Iter8 (with the `v` prefix)
 // Version is intended to be set using LDFLAGS at build time
-var Version = "v0.15.0"
+var Version = "v0.16.0"
 
 const (
 	toYAMLString = "toYaml"


Test patch:
diff --git a/.github/workflows/testcharts.yaml b/.github/workflows/testcharts.yaml
index 2e8fa6cd..d29ddb9b 100644
--- a/.github/workflows/testcharts.yaml
+++ b/.github/workflows/testcharts.yaml
@@ -133,7 +133,7 @@ jobs:
         files: charts/iter8
 
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
       if: steps.modified-files.outputs.any_modified == 'true'
 
     - name: Start kind cluster ${{ matrix.version }}
@@ -204,7 +204,7 @@ jobs:
         files: charts/iter8
 
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
       if: steps.modified-files.outputs.any_modified == 'true'
 
     - name: Start kind cluster ${{ matrix.version }}
@@ -362,7 +362,7 @@ jobs:
         files: charts/iter8
     
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
       if: steps.modified-files.outputs.any_modified == 'true'
 
     - name: Start kind cluster ${{ matrix.version }}
@@ -449,7 +449,7 @@ jobs:
         files: charts/iter8
     
     - name: Install Iter8
-      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.14
+      run: GOBIN=/usr/local/bin go install github.com/iter8-tools/iter8@v0.16
       if: steps.modified-files.outputs.any_modified == 'true'
 
     - name: Start kind cluster ${{ matrix.version }}
diff --git a/.github/workflows/testcode.yaml b/.github/workflows/testcode.yaml
index 2ed8dbb5..87eac79a 100644
--- a/.github/workflows/testcode.yaml
+++ b/.github/workflows/testcode.yaml
@@ -21,10 +21,13 @@ jobs:
       uses: actions/setup-go@v4
       with:
         go-version: 1.19
+
     - name: Check out code into the Go module directory
       uses: actions/checkout@v3
+
     - name: Test and compute coverage
       run: make coverage # includes vet and lint
+
     - name: Enforce coverage
       run: |
         export COVERAGE=$(go tool cover -func coverage.out | grep total | awk '{print substr($3, 1, length($3)-1)}')
@@ -44,21 +47,30 @@ jobs:
       uses: actions/setup-go@v4
       with:
         go-version: 1.19
+
     - name: Check out code into the Go module directory
       uses: actions/checkout@v3
+
     - name: Build and install Iter8
       run: make install
+
     - name: Start kind cluster
       uses: helm/kind-action@v1.5.0
       with:
         wait: 300s
 
-    # # No need to create httpbin application because only testing CLI
-    # 
-    # - name: Create httpbin application
-    #   run: |
-    #     kubectl create deploy httpbin --image=kennethreitz/httpbin --port=80
-    #     kubectl expose deploy httpbin --port=80
+    # Necessary for the experiment to succeed and job to complete
+    - name: Create httpbin application
+      run: |
+        kubectl create deployment httpbin --image=kennethreitz/httpbin
+        kubectl expose deployment httpbin --type=ClusterIP --port=80
+        kubectl wait --for=condition=available --timeout=60s deploy/httpbin
+
+    # Necessary for the experiment to succeed and job to complete
+    - name: Install controller
+      run: |
+        helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
+        kubectl rollout status --watch --timeout=60s statefulset/iter8
  
     - name: CLI test with http task
       run: |
@@ -81,6 +93,9 @@ jobs:
         iter8 k log
         iter8 k delete
 
+    # Not necessary to check the metrics server for data
+    # Beyond the scope of the test suite (only testing CLI, not the released image)
+
   cli-test-grpc:
     name: CLI test with grpc task
     runs-on: ubuntu-latest
@@ -89,8 +104,10 @@ jobs:
       uses: actions/setup-go@v4
       with:
         go-version: 1.19
+
     - name: Check out code into the Go module directory
       uses: actions/checkout@v3
+      
     - name: Build and install Iter8
       run: make install
 
@@ -99,21 +116,26 @@ jobs:
       with:
         wait: 300s
 
-    # # No need to create routeguide application because only testing CLI
-    # 
-    # - name: Create routeguide application
-    #   run: |
-    #     kubectl create deployment routeguide --image=golang --port=50051 \
-    #     -- 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"
-    #     kubectl expose deployment routeguide --port=50051
-    #     kubectl wait --for=condition=available --timeout=60s deployment/routeguide
-
-    # - name: Test gRPC service with grpcurl
-    #   run: |
-    #     curl -sO https://gist.githubusercontent.com/kalantar/510737f0fd58c0432a08e5b6e45ec97f/raw/524d6660284bf653ce0f29f3a25ed0e913c3df80/grpcurl-routeguide.yaml
-    #     kubectl apply -f grpcurl-routeguide.yaml
-    #     sleep 180
-    #     kubectl logs deploy/sleep
+    # Necessary for the experiment to succeed and job to complete
+    - name: Create routeguide application
+      run: |
+        kubectl create deployment routeguide --image=golang --port=50051 \
+        -- 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"
+        kubectl expose deployment routeguide --port=50051
+        kubectl wait --for=condition=available --timeout=60s deployment/routeguide
+
+    # Necessary for the experiment to succeed and job to complete
+    - name: Test gRPC service with grpcurl
+      run: |
+        curl -sO https://gist.githubusercontent.com/kalantar/510737f0fd58c0432a08e5b6e45ec97f/raw/524d6660284bf653ce0f29f3a25ed0e913c3df80/grpcurl-routeguide.yaml
+        kubectl apply -f grpcurl-routeguide.yaml
+        sleep 180
+        kubectl logs deploy/sleep
+
+    - name: Install controller
+      run: |
+        helm install --repo https://iter8-tools.github.io/iter8 iter8 controller --set logLevel=trace
+        kubectl rollout status --watch --timeout=60s statefulset/iter8
 
     - name: CLI test with grpc task
       run: |
@@ -136,4 +158,7 @@ jobs:
     - name: Try other iter8 k commands
       run: |
         iter8 k log
-        iter8 k delete
\ No newline at end of file
+        iter8 k delete
+
+    # Not necessary to check the metrics server for data
+    # Beyond the scope of the test suite (only testing CLI, not the released image)
\ No newline at end of file
diff --git a/testdata/controllers/blue-green-http-kserve/initialize.sh b/testdata/controllers/blue-green-http-kserve/initialize.sh
index 553af76b..b8242458 100755
--- a/testdata/controllers/blue-green-http-kserve/initialize.sh
+++ b/testdata/controllers/blue-green-http-kserve/initialize.sh
@@ -32,7 +32,7 @@ metadata:
   labels:
     app.kubernetes.io/managed-by: iter8
     iter8.tools/kind: routemap
-    iter8.tools/version: v0.15
+    iter8.tools/version: v0.16
 data:
   strSpec: |
     versions: 
diff --git a/testdata/controllers/canary-http-kserve/initialize.sh b/testdata/controllers/canary-http-kserve/initialize.sh
index 388250c9..1efd5714 100755
--- a/testdata/controllers/canary-http-kserve/initialize.sh
+++ b/testdata/controllers/canary-http-kserve/initialize.sh
@@ -32,7 +32,7 @@ metadata:
   labels:
     app.kubernetes.io/managed-by: iter8
     iter8.tools/kind: routemap
-    iter8.tools/version: v0.15
+    iter8.tools/version: v0.16
 data:
   strSpec: |
     versions: 
diff --git a/testdata/controllers/mirror-grpc-kserve/initialize.sh b/testdata/controllers/mirror-grpc-kserve/initialize.sh
index 1b62b0f0..21cd46d9 100755
--- a/testdata/controllers/mirror-grpc-kserve/initialize.sh
+++ b/testdata/controllers/mirror-grpc-kserve/initialize.sh
@@ -43,7 +43,7 @@ metadata:
   labels:
     app.kubernetes.io/managed-by: iter8
     iter8.tools/kind: routemap
-    iter8.tools/version: v0.15
+    iter8.tools/version: v0.16
 data:
   strSpec: |
     versions: 
diff --git a/testdata/controllers/mirror/default-routing.sh b/testdata/controllers/mirror/default-routing.sh
index 8e1c28de..20b72f34 100755
--- a/testdata/controllers/mirror/default-routing.sh
+++ b/testdata/controllers/mirror/default-routing.sh
@@ -49,7 +49,7 @@ metadata:
   labels:
     app.kubernetes.io/managed-by: iter8
     iter8.tools/kind: routemap
-    iter8.tools/version: v0.15
+    iter8.tools/version: v0.16
 data:
   strSpec: |
     versions: