forked from kyma-project/nats-manager
-
Notifications
You must be signed in to change notification settings - Fork 0
184 lines (158 loc) · 6.67 KB
/
push-with-lifecycle-manager.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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
name: push-with-lifecycle-manager
env:
DOCKER_IMAGE: "europe-docker.pkg.dev/kyma-project/prod/nats-manager"
E2E_LOG_LEVEL: debug
KYMA_STABILITY: "unstable"
KYMA: "./hack/kyma"
on:
push:
branches: [ "main" ]
paths-ignore:
- 'docs/**'
- '**.md'
- 'sec-scanners-config.yaml'
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install k3d tools
run: |
make -C hack/ci/ install-k3d-tools
- name: Install Kyma CLI & setup k3d cluster using kyma CLI
run: |
make kyma
make -C hack/ci/ create-k3d
kubectl version
kubectl cluster-info
- name: Deploy lifecycle-manager
run: |
make -C hack/ci/ install-lifecycle-manager
- name: Wait for the 'post-nats-manager-build' job to succeed
uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20
with:
context: "post-nats-manager-build"
commit_ref: "${{ github.sha }}"
timeout: 600000 # 10 minutes in milliseconds
# The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting)
check_interval: 60000 # 1 minute in milliseconds
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_OWNER: "${{ github.repository_owner }}"
GITHUB_REPO: "nats-manager"
- name: Wait for the 'post-nats-module-build' job to succeed
id: wait-nats-module-build
uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20
with:
context: "post-nats-module-build"
commit_ref: "${{ github.sha }}"
timeout: 600000 # 10 minutes in milliseconds
# The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting)
check_interval: 60000 # 1 minute in milliseconds
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_OWNER: "${{ github.repository_owner }}"
GITHUB_REPO: "nats-manager"
- name: Download & validate NATS module template
env:
COMMIT_STATUS_JSON: "${{ steps.wait-nats-module-build.outputs.json }}"
run: |
make -C hack/ci/ download-module-template
kubectl apply -f module-template.yaml --dry-run=client
- name: Install & enable NATS module template
run: |
make -C hack/ci/ install-module-template
make -C hack/ci/ enable-module-without-default-cr
make -C hack/ci/ verify-kyma
- name: Setup & test NATS CR
run: |
make e2e-setup
- name: Run NATS bench
run: |
go install github.com/nats-io/natscli/nats@latest
export PATH=$HOME/go/bin:$PATH
make e2e-bench
- name: Test NATS-server
run: |
make e2e-nats-server
- name: Cleanup NATS CR
run: |
make e2e-cleanup
e2e-upgrade-fast-channel: # This job tests the upgrade of NATS module from latest release from fast channel to current commit.
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install k3d tools
run: |
make -C hack/ci/ install-k3d-tools
- name: Install Kyma CLI & setup k3d cluster using kyma CLI
run: |
make kyma
make -C hack/ci/ create-k3d
kubectl version
kubectl cluster-info
- name: Deploy lifecycle-manager
run: |
make -C hack/ci/ install-lifecycle-manager
- name: Install latest released module template from fast channel & enable NATS module
run: |
make -C hack/ci/ install-latest-module-template-fast
make -C hack/ci/ enable-module-without-default-cr
make -C hack/ci/ verify-kyma
- name: Setup & test NATS CR
run: |
make e2e-setup
- name: Wait for the 'post-nats-manager-build' job to succeed
uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20
with:
context: "post-nats-manager-build"
commit_ref: "${{ github.sha }}"
timeout: 600000 # 10 minutes in milliseconds
# The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting)
check_interval: 60000 # 1 minute in milliseconds
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_OWNER: "${{ github.repository_owner }}"
GITHUB_REPO: "nats-manager"
- name: Wait for the 'post-nats-module-build' job to succeed
id: wait-nats-module-build
uses: kyma-project/wait-for-commit-status-action@2b3ffe09af8b6f40e1213d5fb7f91a7bd41ffb20
with:
context: "post-nats-module-build"
commit_ref: "${{ github.sha }}"
timeout: 600000 # 10 minutes in milliseconds
# The check interval is kept long otherwise it will exhaust the GitHub rate limit (More info: https://docs.github.com/en/rest/overview/resources-in-the-rest-api?apiVersion=2022-11-28#rate-limiting)
check_interval: 60000 # 1 minute in milliseconds
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
GITHUB_OWNER: "${{ github.repository_owner }}"
GITHUB_REPO: "nats-manager"
- name: Download & install the new NATS module template from current commit
env:
PR_NUMBER: "${{ github.event.number }}"
COMMIT_STATUS_JSON: "${{ steps.wait-nats-module-build.outputs.json }}"
run: |
make -C hack/ci/ download-module-template
make -C hack/ci/ install-module-template
make -C hack/ci/ verify-kyma
- name: Wait for new changes to be reflected
# Waits for NATS-manager image to be updated and NATS CR readiness.
env:
COMMIT_SHA: "${{ github.sha }}"
run: |
export DOCKER_TAG="$(date +v%Y%m%d)-$(echo ${COMMIT_SHA} | head -c 8)"
export MANAGER_IMAGE="${DOCKER_IMAGE}:${DOCKER_TAG}"
make e2e-setup
- name: Run NATS bench
run: |
go install github.com/nats-io/natscli/nats@latest
export PATH=$HOME/go/bin:$PATH
make e2e-bench
- name: Test NATS-server
run: |
make e2e-nats-server
- name: Cleanup NATS CR
run: |
make e2e-cleanup