|
11 | 11 | ko-resolve: |
12 | 12 | name: e2e tests |
13 | 13 | runs-on: ubuntu-latest |
| 14 | + strategy: |
| 15 | + fail-fast: false # Keep running if one leg fails. |
| 16 | + matrix: |
| 17 | + k8s-version: |
| 18 | + - v1.17.11 |
| 19 | + - v1.18.8 |
| 20 | + - v1.19.1 |
| 21 | + |
| 22 | + # Map between K8s and KinD versions. |
| 23 | + # This is attempting to make it a bit clearer what's being tested. |
| 24 | + # See: https://github.com/kubernetes-sigs/kind/releases/tag/v0.9.0 |
| 25 | + include: |
| 26 | + - k8s-version: v1.17.11 |
| 27 | + kind-version: v0.9.0 |
| 28 | + kind-image-sha: sha256:5240a7a2c34bf241afb54ac05669f8a46661912eab05705d660971eeb12f6555 |
| 29 | + - k8s-version: v1.18.8 |
| 30 | + kind-version: v0.9.0 |
| 31 | + kind-image-sha: sha256:f4bcc97a0ad6e7abaf3f643d890add7efe6ee4ab90baeb374b4f41a4c95567eb |
| 32 | + - k8s-version: v1.19.1 |
| 33 | + kind-version: v0.9.0 |
| 34 | + kind-image-sha: sha256:98cf5288864662e37115e362b23e4369c8c4a408f99cbc06e58ac30ddc721600 |
14 | 35 | env: |
15 | 36 | GOPATH: ${{ github.workspace }} |
16 | 37 | GO111MODULE: off |
@@ -38,27 +59,22 @@ jobs: |
38 | 59 | run: | |
39 | 60 | set -x |
40 | 61 |
|
41 | | - curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 |
| 62 | + curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${{ matrix.kind-version }}/kind-$(uname)-amd64 |
42 | 63 | chmod +x ./kind |
43 | 64 | sudo mv kind /usr/local/bin |
44 | 65 |
|
45 | 66 | - name: Create KinD Cluster |
46 | 67 | working-directory: ./src/knative.dev/${{ github.event.repository.name }} |
47 | | - env: |
48 | | - NODE_IMAGE: 'kindest/node:v1.16.9@sha256:7175872357bc85847ec4b1aba46ed1d12fa054c83ac7a8a11f5c268957fd5765' |
49 | 68 | run: | |
50 | 69 | set -x |
51 | 70 |
|
52 | 71 | # KinD configuration. |
53 | 72 | cat > kind.yaml <<EOF |
54 | 73 | apiVersion: kind.x-k8s.io/v1alpha4 |
55 | 74 | kind: Cluster |
56 | | - nodes: |
57 | | - - role: control-plane |
58 | | - image: ${NODE_IMAGE} |
59 | | - - role: worker |
60 | | - image: ${NODE_IMAGE} |
61 | 75 |
|
| 76 | + # This is needed in order to support projected volumes with service account tokens. |
| 77 | + # See: https://kubernetes.slack.com/archives/CEKK1KTN2/p1600268272383600 |
62 | 78 | kubeadmConfigPatches: |
63 | 79 | - | |
64 | 80 | apiVersion: kubeadm.k8s.io/v1beta2 |
|
69 | 85 | extraArgs: |
70 | 86 | "service-account-issuer": "kubernetes.default.svc" |
71 | 87 | "service-account-signing-key-file": "/etc/kubernetes/pki/sa.key" |
| 88 | + nodes: |
| 89 | + - role: control-plane |
| 90 | + image: kindest/node:${{ matrix.k8s-version }}@${{ matrix.kind-image-sha }} |
| 91 | + - role: worker |
| 92 | + image: kindest/node:${{ matrix.k8s-version }}@${{ matrix.kind-image-sha }} |
| 93 | +
|
72 | 94 | EOF |
73 | 95 |
|
74 | 96 | # Create a cluster! |
|
84 | 106 | run: | |
85 | 107 | set -x |
86 | 108 |
|
87 | | - kubectl apply --filename https://github.com/knative/eventing/releases/download/v0.17.0/eventing-crds.yaml |
| 109 | + kubectl apply --filename https://github.com/knative/eventing/releases/download/v0.18.4/eventing-crds.yaml |
88 | 110 | sleep 2 # Wait for the CRDs to be reconciled. |
89 | | - kubectl apply --filename https://github.com/knative/eventing/releases/download/v0.17.0/eventing-core.yaml |
| 111 | + kubectl apply --filename https://github.com/knative/eventing/releases/download/v0.18.4/eventing-core.yaml |
90 | 112 |
|
91 | 113 | - name: Install |
92 | 114 | working-directory: ./src/knative.dev/${{ github.event.repository.name }} |
@@ -144,7 +166,7 @@ jobs: |
144 | 166 |
|
145 | 167 | echo "===================== Pod Logs =============================" |
146 | 168 | namespace=knative-eventing |
147 | | - for pod in $(kubectl get pod -n $namespace | grep Running | awk '{print $1}'); do |
| 169 | + for pod in $(kubectl get pod -n $namespace | awk '{print $1}'); do |
148 | 170 | for container in $(kubectl get pod "${pod}" -n $namespace -ojsonpath='{.spec.containers[*].name}'); do |
149 | 171 | echo "Namespace, Pod, Container: ${namespace}, ${pod}, ${container}" |
150 | 172 | kubectl logs -n $namespace "${pod}" -c "${container}" || true |
|
0 commit comments