Skip to content

Commit e1b8d36

Browse files
feat: update release lifecycle (#96)
1 parent 51abe24 commit e1b8d36

35 files changed

+4561
-4179
lines changed

README.md

Lines changed: 2668 additions & 16 deletions
Large diffs are not rendered by default.

charts/codefresh/README.md.gotmpl renamed to README.md.gotmpl

Lines changed: 318 additions & 86 deletions
Large diffs are not rendered by default.

RELEASE.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Release Process
2+
3+
## Releasing a new version
4+
5+
For a **MAJOR** or **MINOR** release:
6+
7+
- Checkout from `main` branch
8+
```shell
9+
git checkout -b onprem-X.Y main
10+
```
11+
- Merge latest `release-X.Y` into the new branch
12+
```shell
13+
git merge --no-ff release-X.Y
14+
```
15+
- Resolve any merge conflicts.
16+
- In `Chart.yaml`:
17+
- Update `.version` and `.appVersion`
18+
- For Codefresh dependencies (i.e. with `repository: oci://quay.io/codefresh/charts`) update version to use latest (i.e. `version: *`)
19+
- Update `artifacthub.io/changes` annotation
20+
- Update `values.yaml`, `templates/**`, etc with required changes
21+
- Run `helm dep update` to update dependencies
22+
- Run `./charts/codefresh/.ci/runtime-images.sh`
23+
- Run `./scripts/helm-docs.sh`
24+
- Commit changes and open the PR against the `main` branch
25+
- Comment `/test` to trigger CI pipeline
26+
- Merge the PR after successful CI build
27+
- After merging the PR the corresponding `release-X.Y` branch will be created. For the next patches, `release-X.Y` branch must be used as BASE branch!
28+
29+
For a **PATCH** release:
30+
31+
- Checkout from the corresponding `release-<MAJOR>.<MINOR>` branch
32+
```shell
33+
git checkout -b onprem-X.Y.Z release-X.Y
34+
```
35+
- Update `.version` in Chart.yaml
36+
- Update `artifacthub.io/changes` annotation in Chart.yaml
37+
- *optional* Update `dependencies` in Chart.yaml
38+
- *optional* Update `values.yaml`, `templates/**`, etc with required changes
39+
- Run `helm dep update` to update dependencies
40+
- *optional* Run `./charts/codefresh/.ci/runtime-images.sh`
41+
- Run `./scripts/helm-docs.sh`
42+
- Commit changes and open the PR against the corresponding `release-<MAJOR>.<MINOR>` branch
43+
- Comment `/test` to trigger CI pipeline
44+
- Merge the PR after successful CI build

charts/codefresh-gitops/README.md

Lines changed: 0 additions & 189 deletions
This file was deleted.

charts/codefresh-gitops/files/hooks/mongoSetCompatibilityVersion.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ waitForMongoDB() {
1616
done
1717
}
1818

19+
getMongoDBVersion() {
20+
local version=$(mongosh ${MONGODB_ROOT_URI} --eval "db.version()" 2>&1)
21+
echo $version
22+
}
23+
1924
parseMongoURI() {
2025
local proto="$(echo $1 | grep :// | sed -e's,^\(.*://\).*,\1,g')"
2126
local parameters="$(echo $1 | grep '?' | cut -d '?' -f2)"; if [[ -n $parameters ]]; then parameters="?${parameters}"; fi
@@ -33,4 +38,10 @@ parseMongoURI $MONGO_URI
3338

3439
waitForMongoDB
3540

36-
mongosh ${MONGODB_ROOT_URI} --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"$MONGODB_COMPAT_VERSION\" } )"
41+
MONGO_VERSION=$(getMongoDBVersion)
42+
43+
if [[ $MONGO_VERSION == 7* ]]; then
44+
mongosh ${MONGODB_ROOT_URI} --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"$MONGODB_COMPAT_VERSION\", confirm: true } )"
45+
else
46+
mongosh ${MONGODB_ROOT_URI} --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"$MONGODB_COMPAT_VERSION\" } )"
47+
fi

charts/codefresh-gitops/files/seed/postgresSeedJobScript.sh

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
#!/bin/bash
22

3-
set -xeuo pipefail
3+
DEBUG="${DEBUG:-false}"
4+
5+
6+
set -euo pipefail
7+
8+
if [[ $DEBUG == "true" ]]; then
9+
set -xeuo pipefail
10+
echo "Running in debug mode"
11+
fi
412

513
POSTGRES_DATABASES=(
614
"codefresh"
@@ -20,7 +28,9 @@ POSTGRES_SEED_USER="${POSTGRES_SEED_USER:-$POSTGRES_USER}"
2028
POSTGRES_SEED_PASSWORD="${POSTGRES_SEED_PASSWORD:-$POSTGRES_PASSWORD}"
2129

2230
function createDB() {
23-
psql -tc "SELECT 1 FROM pg_database WHERE datname = '${1}'" | grep -q 1 || psql -c "CREATE DATABASE ${1}"
31+
local db=$1
32+
echo "Creating ${db} database"
33+
psql -c "CREATE DATABASE ${db}" 2>&1 || true
2434
}
2535

2636
function createUser() {
@@ -29,7 +39,9 @@ function createUser() {
2939
}
3040

3141
function grantPrivileges() {
32-
psql -c "GRANT ALL ON DATABASE ${1} TO ${POSTGRES_USER}"
42+
local db=$1
43+
echo "Granting privileges on $db to ${POSTGRES_USER}"
44+
psql -c "GRANT ALL ON DATABASE ${db} TO ${POSTGRES_USER}"
3345
}
3446

3547
function runSeed() {
@@ -38,6 +50,7 @@ function runSeed() {
3850
export PGPASSWORD=${POSTGRES_SEED_PASSWORD}
3951
export PGHOST=${POSTGRES_HOSTNAME}
4052
export PGPORT=${POSTGRES_PORT}
53+
export PGDATABASE=postgres # Use the default postgres database
4154

4255
if [[ "${POSTGRES_SEED_USER}" != "${POSTGRES_USER}" ]]; then
4356
createUser
@@ -51,4 +64,4 @@ function runSeed() {
5164
done
5265
}
5366

54-
runSeed
67+
runSeed

charts/codefresh/.ci/helm-docs.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22
## Reference: https://github.com/norwoodj/helm-docs
33
set -eux
4-
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
4+
REPO_ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
55
echo "$REPO_ROOT"
66

77
echo "Running Helm-Docs"
@@ -10,9 +10,9 @@ docker run \
1010
-u $(id -u) \
1111
--rm \
1212
--entrypoint /bin/sh \
13-
jnorwood/helm-docs:v1.11.0 \
13+
jnorwood/helm-docs:v1.14.2 \
1414
-c \
1515
helm-docs \
16-
--chart-search-root=codefresh \
17-
--template-files=./_templates.gotmpl \
18-
--template-files=README.md.gotmpl \
16+
--chart-search-root=charts/codefresh \
17+
--template-files=README.md.gotmpl \
18+
--output-file=README.md

charts/codefresh/.ci/values/defaults-hpa.yaml renamed to charts/codefresh/.ci/values/defaults.yaml

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ cfapi:
2222

2323
ingress:
2424
enabled: true
25-
ingressClassName: nginx-internal
25+
ingressClassName: nginx
2626
tls:
2727
enabled: false
2828

@@ -75,3 +75,28 @@ argo-platform:
7575
promotion-orchestrator:
7676
hpa:
7777
enabled: true
78+
79+
mongodb:
80+
migration:
81+
enabled: false
82+
image:
83+
repository: bitnamilegacy/mongodb
84+
nodeSelector:
85+
kubernetes.io/arch: amd64
86+
87+
consul:
88+
image:
89+
repository: bitnamilegacy/consul
90+
91+
nats:
92+
image:
93+
repository: bitnamilegacy/nats
94+
95+
rabbitmq:
96+
image:
97+
repository: bitnamilegacy/rabbitmq
98+
99+
hooks:
100+
mongodb:
101+
nodeSelector:
102+
kubernetes.io/arch: amd64

charts/codefresh/.ci/values/mtls-mongodb-redis.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
seed:
22
mongoSeedJob:
33
mongodbRootURI: mongodb://root:XT9nmM8dZDZ@cf-mongodb:27017/?authSource=admin
4+
mongodbRootOptions: authSource=admin
5+
mongodbRootPassword: XT9nmM8dZDZ
46

57
global:
68
appUrl: "" # placeholder for ${CF_APP_HOST}
@@ -49,7 +51,7 @@ global:
4951

5052
ingress:
5153
enabled: true
52-
ingressClassName: nginx-internal
54+
ingressClassName: nginx
5355
tls:
5456
enabled: false
5557

@@ -86,9 +88,9 @@ mongodb:
8688
mongosh ${MONGODB_ROOT_URI} --eval "db.getSiblingDB('${MONGODB_DATABASE}').createCollection('test')"
8789
done
8890
89-
mongoimport --uri ${MONGODB_ROOT_URI} --db codefresh --collection idps --type json --legacy --file /usr/share/extras/idps.json
90-
mongoimport --uri ${MONGODB_ROOT_URI} --db codefresh --collection accounts --type json --legacy --file /usr/share/extras/accounts.json
91-
mongoimport --uri ${MONGODB_ROOT_URI} --db codefresh --collection users --type json --legacy --file /usr/share/extras/users.json
91+
# mongoimport --uri ${MONGODB_ROOT_URI} --db codefresh --collection idps --type json --legacy --file /usr/share/extras/idps.json
92+
# mongoimport --uri ${MONGODB_ROOT_URI} --db codefresh --collection accounts --type json --legacy --file /usr/share/extras/accounts.json
93+
# mongoimport --uri ${MONGODB_ROOT_URI} --db codefresh --collection users --type json --legacy --file /usr/share/extras/users.json
9294

9395
extraVolumeMounts:
9496
- name: extras
@@ -106,6 +108,8 @@ mongodb:
106108
caCert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURGVENDQWYyZ0F3SUJBZ0lRZWVySXdOWkNpdyt1alRPdHZ2TEZLREFOQmdrcWhraUc5dzBCQVFzRkFEQVYKTVJNd0VRWURWUVFERXdwdGVVMXZibWR2TFdOaE1CNFhEVEl5TVRFd01qRTRNRFl6TWxvWERUTXlNVEF6TURFNApNRFl6TWxvd0ZURVRNQkVHQTFVRUF4TUtiWGxOYjI1bmJ5MWpZVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFECmdnRVBBRENDQVFvQ2dnRUJBTGxpV3dIVDQ5OWE0MzgrUWZjcExTNThVT2FsV3ArVXhkWVYwQjZkVTlFejlQSW4KTncydXZqNWtjN3RtU08xUk5ReEJRVjZpOHNBWHdQcTM1WlZYdTQ2OHhURkdHMXZBTWhrTkQ1OTJWd3JFNElCSgpTMm9XNEV6UWJPR3Fsd2ZBanNMZ1VlRjdBbHRuUEVNMjBSQ3hpMzhPNGY0VHZNZHpQamhIa2NNU2NMaHNhYjRlCjYrbVA0MFJBcEdLc2hwV2YwbnoyMXErWU83Zm4wNjVYd3dvUVBvL1BZa0FLdWNHZk1xRjltYXRCYWdUMlVwT0cKSFlRa2pzRW1zSmxEdkhsV1RBdzU2eFl4UU9UbUVWU2hkYzlKRDNmWEZEVkd6L1NVYkZXQTVualBLL0QvbXdpawppM0RaL0h6SUVEbXBJUElxRERsTGdIL3F6b3Jlb0NKMjB1YnlCb1VDQXdFQUFhTmhNRjh3RGdZRFZSMFBBUUgvCkJBUURBZ0trTUIwR0ExVWRKUVFXTUJRR0NDc0dBUVVGQndNQkJnZ3JCZ0VGQlFjREFqQVBCZ05WSFJNQkFmOEUKQlRBREFRSC9NQjBHQTFVZERnUVdCQlFXTWg5RDRiVkljRWQ2dVBOZ1RqWGpMWUpoSmpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FRRUFSUTBaV3F0dUlLWHNHTTJ4TW1Za0VJTHprckJySktiWXhIOFlCUEJFTjZZT09la0o2Q1FhCjQzZitmaHJlQ2o4NFdwSzdwckNEcjJYTmlHNHJlYjBrU2dYdmpyZUVBTzU0Q1FzelJwR0xUVjROMTBjTDdHUVoKaXd6OElGMXppTld4WXVXK29aSFRBQ2NMRkJkUnFFZWNSWUJXTU0vaDhZcldoWTRIaXlIMHp4UkRsOGNpU2ZOMApoa2lURzZQd0V0S29ZRWUwZ21OWXhkWFNzZ2FMZFlUMjNiMGJsMlB3OUdZdkJlWmFpZlZTbllDYmhmTDNPVkQxCjV6YnBXNHhmMEJyM0VGbStrUHh0SGxVR2FsUXdFb3NSVy9kWEpFWFVQTHNGb2xPRDRiR0xvblE4Z2VHcFVYVzQKR3prV0g5QTFXUlE4bWIxd0ZDTkZNVjgvUWxKams3MEJFUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0="
107109
caKey: "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBdVdKYkFkUGozMXJqZno1Qjl5a3RMbnhRNXFWYW41VEYxaFhRSHAxVDBUUDA4aWMzCkRhNitQbVJ6dTJaSTdWRTFERUZCWHFMeXdCZkErcmZsbFZlN2pyekZNVVliVzhBeUdRMFBuM1pYQ3NUZ2dFbEwKYWhiZ1ROQnM0YXFYQjhDT3d1QlI0WHNDVzJjOFF6YlJFTEdMZnc3aC9oTzh4M00rT0VlUnd4Snd1R3hwdmg3cgo2WS9qUkVDa1lxeUdsWi9TZlBiV3I1Zzd0K2ZUcmxmRENoQStqODlpUUFxNXdaOHlvWDJacTBGcUJQWlNrNFlkCmhDU093U2F3bVVPOGVWWk1ERG5yRmpGQTVPWVJWS0YxejBrUGQ5Y1VOVWJQOUpSc1ZZRG1lTThyOFArYkNLU0wKY05uOGZNZ1FPYWtnOGlvTU9VdUFmK3JPaXQ2Z0luYlM1dklHaFFJREFRQUJBb0lCQUNIQ3JxNHJoMkVpclRGOApCZ2xiMzFXSzREVFF3aXN6cmIrcUkwZWdBU2FsSHFPR3pyallMTjh4N2YyZnlBSW4rdEFyaGhzVTg3NVYxUmdUCnEyVENJRzhESTZvd2lVVHhRRzVkZVkzaHdFSSt6bCt1ZVdSdG5CV0JFNE1aVFAzbGJGcEMvY1poWDNHRDRHNmgKS2Z1dlNhY3U3NnNVcnhsbmZGcEZkbDhmR1pZTUlOOUNZWHArWWVJZzRuYW5ZSFJsbk1LM05QSjIzZUVHdkpjeQpLdUZWNndIUzFlWmg1M0J0aWRlY3czcmFzZFhJWmMzdFJidlFid3lDbjZ5dVlING0vUXJzMVFUckp2dzdyWU1sCkxyZGxlZm5uWk9XNFNVc3dINkVCWmF3RC9FTFc4eFNORVhudUkzUFp0di9oRVVZd3RKOVdMbk0rRitzc21ldm8KaHVGMUI5VUNnWUVBMFBHSmc2U3N6dHlKNkhyM0tTaEhyN3h5eVVPOVJTK0N3LzBSV2cranJ3SGFlRGRIalpvKwpaYXhxWVdoRUR0aUZieWpJdWR2MFF1aUZhMHVObDUvMGl3YXR2Tm81RitNZWV3WGt1T0YraWE3RFdFODk0a2ZECkVqYXJYWUk3ZkpnTkdxVmthWUw1cGdGcmxpUDhkZDFkK0VlTWV4dmJadTdwYUZzaXBaZWs1NE1DZ1lFQTR5S0cKdzAyMHJTTGRwdlYyQmE2WG4zbFRXUW0wMFlOaVFuY0YrVjJXNm95RjREK2liRUppTUdUZzRESzZLVllNVElpNQpmaVV4WHlib0Fkd1hvTlpqMmhPWmhmMVZSa3g1WGIrOVorbDV3ZFlBMGR4RmV1ajBDakpmd3p1UTNuOUxZOWxlCnJSSi91SklkbHhKWkx2Z0RLZzdRZ2NuNkJCN2Y1Ujlwa1JKaTgxY0NnWUJYZ2xITnlOSjNjUFp4WDg3VWRnSlEKSCtVVFZrT1hEbWIrSHFkOXlMOE5OUUdEQitQMzhubmZxMjZDaldDenR3dHJtdkUycG1DUEJVT2J4SER3NkJWTApoT2lQQi9hUmdwWHBnSFppMkU1ZTY4cjAyWHRab2lTWkpEeHhWWElFcE1vWU50enZNK1BMR3gwc0xMWTN4eGJzClBVc2c1SEhua25nL05LdzJIbVQ2Y1FLQmdEaW9lQzFueU5ZWGlHc0pkL05hNWYrbDZDQ2h4elVzTE9xZmZpSUMKTW84M2xuMmw0Z0pYWE43dGl4cmlESVliTE40NmpPcm1wRFkwSWxPMGIwQnp1bHkvM3VBSm5hZjNrNTdMSVpnMgpLV1VzMk8rQW51UldEK29yUHJBWXY3NkF5bkdSMjRnWXdUdHRWMnhENjNOSDhxSWZKK3Y0VWlHTkFoVEpqUy9mCkFrZnBBb0dBQ0pRS0lOU0hZOWN2RGZseWNWNmRCcndGS0hRb3oyZGg5Z0EvSjBGazYyc0VrNDY1SUtINm96VDQKQTlSZi8yMHBLZG40dmRnTktJQ3R1cUNKN1JIMC82bVRZWXUwSEJTWHo1elZIdWczTHpFbGxOdVB4MnRhc0x0MgpjdElsVkVrdk96L1hCa3BMVUE2TDlaR01Ha2tyeUJoNEdXd2FCajBHeldUQ2JMUGZ3N3c9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0t"
108110
mode: allowTLS
111+
image:
112+
repository: bitnamilegacy/nginx
109113

110114
redis:
111115
tls:

0 commit comments

Comments
 (0)