Skip to content

Commit c9aa17b

Browse files
INSTA-16607-fedramp-sps-changes
Signed-off-by: nagarajkandoor <[email protected]>
1 parent b5b941b commit c9aa17b

File tree

3 files changed

+198
-62
lines changed

3 files changed

+198
-62
lines changed

.pipeline-config.yaml

Lines changed: 2 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -152,68 +152,7 @@ tasks:
152152
- name: detect-secrets
153153
include:
154154
- docker-socket
155-
156155
pr-code-checks-8:
157-
from: pr-code-checks
158-
displayName: redhat-marketplace-operator-commit-changes-and-create-pr
159-
runtimeClassName: large
160-
runAfter:
161-
- pr-code-checks
162-
include:
163-
- dind
164-
steps:
165-
- name: unit-test
166-
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
167-
include:
168-
- docker-socket
169-
script: |
170-
#!/usr/bin/env bash
171-
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/commit-changes-to-public-repo.sh
172-
- name: detect-secrets
173-
include:
174-
- docker-socket
175-
176-
pr-code-checks-9:
177-
from: pr-code-checks
178-
displayName: redhat-marketplace-operators-rebase
179-
runtimeClassName: large
180-
runAfter:
181-
- pr-code-checks
182-
include:
183-
- dind
184-
steps:
185-
- name: unit-test
186-
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
187-
include:
188-
- docker-socket
189-
script: |
190-
#!/usr/bin/env bash
191-
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/rebase-fork-branches.sh
192-
- name: detect-secrets
193-
include:
194-
- docker-socket
195-
196-
pr-code-checks-10:
197-
from: pr-code-checks
198-
displayName: certified-operators-commit-changes-and-create-pr
199-
runtimeClassName: large
200-
runAfter:
201-
- pr-code-checks
202-
include:
203-
- dind
204-
steps:
205-
- name: unit-test
206-
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
207-
include:
208-
- docker-socket
209-
script: |
210-
#!/usr/bin/env bash
211-
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/commit-changes-to-public-repo.sh
212-
- name: detect-secrets
213-
include:
214-
- docker-socket
215-
216-
pr-code-checks-11:
217156
from: pr-code-checks
218157
displayName: redhat-preflight-scans
219158
runtimeClassName: large
@@ -228,11 +167,12 @@ tasks:
228167
- docker-socket
229168
script: |
230169
#!/usr/bin/env bash
231-
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/commit-changes-to-public-repo.sh
170+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/pre-flight.sh
232171
- name: detect-secrets
233172
include:
234173
- docker-socket
235174

175+
236176
code-pr-finish:
237177
steps:
238178
- name: evaluate
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
tasks:
2+
pr-code-checks:
3+
displayName: verify-latest-release
4+
runtimeClassName: large
5+
runAfter:
6+
- pr-code-checks
7+
include:
8+
- dind
9+
steps:
10+
- name: unit-test
11+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
12+
include:
13+
- docker-socket
14+
script: |
15+
#!/usr/bin/env bash
16+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/olm-release-pr-creation.sh
17+
- name: detect-secrets
18+
include:
19+
- docker-socket
20+
21+
pr-code-checks-1:
22+
displayName: redhat-marketplace-operator-commit-changes-and-create-pr
23+
runtimeClassName: large
24+
runAfter:
25+
- pr-code-checks
26+
include:
27+
- dind
28+
steps:
29+
- name: unit-test
30+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
31+
include:
32+
- docker-socket
33+
script: |
34+
#!/usr/bin/env bash
35+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/commit-changes-to-public-repo.sh
36+
- name: detect-secrets
37+
include:
38+
- docker-socket
39+
40+
pr-code-checks-2:
41+
from: pr-code-checks
42+
displayName: redhat-marketplace-operators-rebase
43+
runtimeClassName: large
44+
runAfter:
45+
- pr-code-checks
46+
include:
47+
- dind
48+
steps:
49+
- name: unit-test
50+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
51+
include:
52+
- docker-socket
53+
script: |
54+
#!/usr/bin/env bash
55+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/rebase-fork-branches.sh
56+
- name: detect-secrets
57+
include:
58+
- docker-socket
59+
60+
pr-code-checks-3:
61+
from: pr-code-checks
62+
displayName: community-operators-rebase
63+
runtimeClassName: large
64+
runAfter:
65+
- pr-code-checks
66+
include:
67+
- dind
68+
steps:
69+
- name: unit-test
70+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
71+
include:
72+
- docker-socket
73+
script: |
74+
#!/usr/bin/env bash
75+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/rebase-fork-branches.sh
76+
- name: detect-secrets
77+
include:
78+
- docker-socket
79+
80+
pr-code-checks-4:
81+
from: pr-code-checks
82+
displayName: certified-operators-rebase
83+
runtimeClassName: large
84+
runAfter:
85+
- pr-code-checks
86+
include:
87+
- dind
88+
steps:
89+
- name: unit-test
90+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
91+
include:
92+
- docker-socket
93+
script: |
94+
#!/usr/bin/env bash
95+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/rebase-fork-branches.sh
96+
- name: detect-secrets
97+
include:
98+
- docker-socket
99+
100+
pr-code-checks-5:
101+
from: pr-code-checks
102+
displayName: certified-operators-commit-changes-and-create-pr
103+
runtimeClassName: large
104+
runAfter:
105+
- pr-code-checks
106+
include:
107+
- dind
108+
steps:
109+
- name: unit-test
110+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
111+
include:
112+
- docker-socket
113+
script: |
114+
#!/usr/bin/env bash
115+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/commit-changes-to-public-repo.sh
116+
- name: detect-secrets
117+
include:
118+
- docker-socket
119+
120+
pr-code-checks-6:
121+
from: pr-code-checks
122+
displayName: community-operators-commit-changes-and-create-pr
123+
runtimeClassName: large
124+
runAfter:
125+
- pr-code-checks
126+
include:
127+
- dind
128+
steps:
129+
- name: unit-test
130+
image: icr.io/continuous-delivery/pipeline/pipeline-base-ubi:3
131+
include:
132+
- docker-socket
133+
script: |
134+
#!/usr/bin/env bash
135+
$WORKSPACE/$APP_REPO_FOLDER/ci/scripts/commit-changes-to-public-repo.sh
136+
- name: detect-secrets
137+
include:
138+
- docker-socket
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/bash
2+
set -euo pipefail
3+
4+
# Extract the new version from the release
5+
NEW_VERSION=$(ls instana-agent-operator-release/olm-*.zip | grep -oP 'olm-\K[0-9]+\.[0-9]+\.[0-9]+' || echo "")
6+
if [ -z "$NEW_VERSION" ]; then
7+
echo "Failed to extract version from release artifact"
8+
exit 1
9+
fi
10+
11+
echo "New version: $NEW_VERSION"
12+
13+
# Get the latest release version from GitHub API
14+
LATEST_RELEASE=$(curl -s https://api.github.com/repos/instana/instana-agent-operator/releases/latest | jq -r '.tag_name' | grep -oP 'v\K[0-9]+\.[0-9]+\.[0-9]+' || echo "")
15+
if [ -z "$LATEST_RELEASE" ]; then
16+
echo "Failed to get latest release version, proceeding with PR creation"
17+
exit 0
18+
fi
19+
20+
echo "Latest release: $LATEST_RELEASE"
21+
22+
# Compare versions using semver logic
23+
# Split versions into components
24+
IFS='.' read -r -a NEW_PARTS <<< "$NEW_VERSION"
25+
IFS='.' read -r -a LATEST_PARTS <<< "$LATEST_RELEASE"
26+
27+
# Compare major version
28+
if [ "${NEW_PARTS[0]}" -gt "${LATEST_PARTS[0]}" ]; then
29+
echo "New version $NEW_VERSION is semver-greater than latest release $LATEST_RELEASE (major version higher)"
30+
echo "Proceeding with PR creation"
31+
exit 0
32+
elif [ "${NEW_PARTS[0]}" -eq "${LATEST_PARTS[0]}" ]; then
33+
# Compare minor version
34+
if [ "${NEW_PARTS[1]}" -gt "${LATEST_PARTS[1]}" ]; then
35+
echo "New version $NEW_VERSION is semver-greater than latest release $LATEST_RELEASE (minor version higher)"
36+
echo "Proceeding with PR creation"
37+
exit 0
38+
elif [ "${NEW_PARTS[1]}" -eq "${LATEST_PARTS[1]}" ]; then
39+
# Compare patch version
40+
if [ "${NEW_PARTS[2]}" -gt "${LATEST_PARTS[2]}" ]; then
41+
echo "New version $NEW_VERSION is semver-greater than latest release $LATEST_RELEASE (patch version higher)"
42+
echo "Proceeding with PR creation"
43+
exit 0
44+
fi
45+
fi
46+
fi
47+
48+
# If versions are identical, proceed with PR creation
49+
if [ "$NEW_VERSION" = "$LATEST_RELEASE" ]; then
50+
echo "New version $NEW_VERSION is identical to latest release $LATEST_RELEASE"
51+
echo "Proceeding with PR creation"
52+
exit 0
53+
fi
54+
55+
# Only skip if new version is lower than latest release
56+
echo "New version $NEW_VERSION is lower than latest release $LATEST_RELEASE"
57+
echo "Skipping PR creation"
58+
exit 1

0 commit comments

Comments
 (0)