99jobs :
1010
1111 ko-resolve :
12- name : e2e tests
12+ name : e2e tests (${{ matrix.eventing-version }})
1313 runs-on : ubuntu-latest
1414 strategy :
1515 fail-fast : false # Keep running if one leg fails.
1616 matrix :
17- k8s-version :
18- - v1.34.3
19-
20- eventing-version :
21- - knative-v1.21.0
22-
23- # Map between K8s and KinD versions.
24- # This is attempting to make it a bit clearer what's being tested.
25- # See: https://github.com/kubernetes-sigs/kind/releases/tag/v0.29.0
2617 include :
18+ # Keep testing the oldest supported Eventing release, and build the
19+ # upstream main commit that introduced DeliverySpec.BackoffMax.
20+ - k8s-version : v1.34.3
21+ kind-version : v0.31.0
22+ kind-image-sha : sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
23+ eventing-version : knative-v1.21.0
24+ eventing-source : release
25+ delivery-features-e2e : false
2726 - k8s-version : v1.34.3
2827 kind-version : v0.31.0
2928 kind-image-sha : sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48
29+ eventing-version : main-973bbbc1
30+ eventing-source : source
31+ eventing-ref : 973bbbc1f791c274578360917c7d492828b48cb0
32+ delivery-features-e2e : true
3033 env :
3134 KO_DOCKER_REPO : kind.local
3235 SYSTEM_NAMESPACE : knative-eventing
4851 - name : Check out code
4952 uses : actions/checkout@v4
5053
54+ - name : Check out Knative Eventing source
55+ if : matrix.eventing-source == 'source'
56+ uses : actions/checkout@v4
57+ with :
58+ repository : knative/eventing
59+ ref : ${{ matrix.eventing-ref }}
60+ path : .eventing-source
61+
5162 - name : Install KinD
5263 env :
5364 KIND_VERSION : ${{ matrix.kind-version }}
@@ -111,7 +122,8 @@ jobs:
111122 kubectl get pods -n kube-system -l k8s-app=kube-dns
112123 kubectl logs -n kube-system -l k8s-app=kube-dns
113124
114- - name : Install Knative Eventing
125+ - name : Install released Knative Eventing
126+ if : matrix.eventing-source == 'release'
115127 run : |
116128 set -x
117129
@@ -120,6 +132,23 @@ jobs:
120132 kubectl apply --filename https://github.com/knative/eventing/releases/download/${{ matrix.eventing-version }}/eventing-core.yaml
121133 kubectl apply --filename https://github.com/knative/eventing/releases/download/${{ matrix.eventing-version }}/mt-channel-broker.yaml
122134
135+ - name : Build and install Knative Eventing source
136+ if : matrix.eventing-source == 'source'
137+ working-directory : .eventing-source
138+ run : |
139+ set -x
140+
141+ ko apply --platform=linux/amd64 -f ./config/
142+ ko apply --platform=linux/amd64 -f ./config/brokers/mt-channel-broker/
143+
144+ - name : Enable delivery features
145+ if : matrix.delivery-features-e2e
146+ run : |
147+ kubectl patch configmap config-features \
148+ --namespace knative-eventing \
149+ --type merge \
150+ --patch '{"data":{"delivery-backoff-max":"enabled","delivery-retryafter":"enabled"}}'
151+
123152 - name : Install
124153 run : |
125154 set -x
@@ -140,6 +169,8 @@ jobs:
140169 kubectl get pods --all-namespaces
141170
142171 - name : Run e2e Tests
172+ env :
173+ EVENTING_DELIVERY_FEATURES_E2E : ${{ matrix.delivery-features-e2e }}
143174 run : |
144175 set -x
145176
@@ -189,4 +220,3 @@ jobs:
189220 SLACK_TITLE : Periodic e2e for Nats on kind on (${{ matrix.k8s-version }}, ${{ matrix.eventing-version }}) failed.
190221 SLACK_MESSAGE : |
191222 For detailed logs: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
192-
0 commit comments