From 1c457dfe1b42e2b2be6db048e2db946c2bac1698 Mon Sep 17 00:00:00 2001 From: Francis Shonubi Date: Tue, 28 May 2024 11:36:11 +0100 Subject: [PATCH 1/7] add mermaid flow diagram for patch releases Signed-off-by: Francis Shonubi --- scripts/automated-patch-releases.md | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 scripts/automated-patch-releases.md diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md new file mode 100644 index 00000000000..400280aa25c --- /dev/null +++ b/scripts/automated-patch-releases.md @@ -0,0 +1,49 @@ +# CRI-O Automated Patch Releases + +Automated Patch Releases provides an easy way of packaging and release new version +of CRI-O +This involves the use of Golang Scripts and Github Actions + +```mermaid + flowchart TD + A[Start: patch-release.yml Workflow] --> B[Create version bump intent prs] + B --> C[Maintainers Review PRs] + C -->|Decides Against Merges| E[Rebases on main branch] --> C + C -->|Decides to Merge PRs| D[Run: tag-reconciler.yml Workflow] + D --> F[Release Job: Build Packages, Create Release Notes, etc.] + F --> G[End] +``` + +## Patch Release + +The `.github/workflows/patch-release.yml` runs the golang script +`scripts/tag-reconciler/tag-reconciler.go` + +```mermaid + flowchart TD + A[Start patch-release Github action] --> B[Run Release Script] + --> C[Get latest Minor versions from release Branches] + C --> D[Bump up version in specific release branch] + D -->E[Create PR with new version] + E--> F[End] +``` + +## Pushing New Version tags + +To push the new version tags and cut the release, the +`.github/workflows/tag-reconciler.yml` runs the golang script +`scripts/tag-reconciler/tag-reconciler.go` + +This will inturn run the `.github/workflows/test.yml` which will build and +package the latest versions for CRI-O + +```mermaid + flowchart TD + A[Start tag-reconciler Github action] --> B[Run Tag-Reconciler Script] + --> C[Check for latest minor versions Tags on remote] + C --> D{Tag Exists?} + D -->|Yes| E[No-op] --> H + D -->|No| F[Tag and Push Tag to Remote] + F--> G[Manually Trigger Test Workflow] + G--> H[End] +``` From b48aa8ec953b59b31f75e44c24c7396e2de0b3cf Mon Sep 17 00:00:00 2001 From: Francis Shonubi <59811608+olad5@users.noreply.github.com> Date: Fri, 31 May 2024 07:42:09 +0100 Subject: [PATCH 2/7] Update scripts/automated-patch-releases.md Co-authored-by: Sascha Grunert Signed-off-by: Francis Shonubi <59811608+olad5@users.noreply.github.com> --- scripts/automated-patch-releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md index 400280aa25c..fbf8669bd0f 100644 --- a/scripts/automated-patch-releases.md +++ b/scripts/automated-patch-releases.md @@ -1,6 +1,6 @@ # CRI-O Automated Patch Releases -Automated Patch Releases provides an easy way of packaging and release new version +Automated Patch Releases provide an easy way of packaging and releasing a new version of CRI-O This involves the use of Golang Scripts and Github Actions From ab6739e2d591aeb909fbac0f1945ed8f8d4b632b Mon Sep 17 00:00:00 2001 From: Francis Shonubi <59811608+olad5@users.noreply.github.com> Date: Fri, 31 May 2024 07:42:25 +0100 Subject: [PATCH 3/7] Update scripts/automated-patch-releases.md Co-authored-by: Sascha Grunert Signed-off-by: Francis Shonubi <59811608+olad5@users.noreply.github.com> --- scripts/automated-patch-releases.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md index fbf8669bd0f..6ba9130f22b 100644 --- a/scripts/automated-patch-releases.md +++ b/scripts/automated-patch-releases.md @@ -1,8 +1,8 @@ # CRI-O Automated Patch Releases Automated Patch Releases provide an easy way of packaging and releasing a new version -of CRI-O -This involves the use of Golang Scripts and Github Actions +of CRI-O. This involves the use of Golang scripts and Github Actions and follows the +outlined flow: ```mermaid flowchart TD From e316beb959e1bbe6f911e9f917c4b056e30d15da Mon Sep 17 00:00:00 2001 From: Francis Shonubi <59811608+olad5@users.noreply.github.com> Date: Fri, 31 May 2024 07:43:07 +0100 Subject: [PATCH 4/7] Update scripts/automated-patch-releases.md Co-authored-by: Sascha Grunert Signed-off-by: Francis Shonubi <59811608+olad5@users.noreply.github.com> --- scripts/automated-patch-releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md index 6ba9130f22b..4a57978419b 100644 --- a/scripts/automated-patch-releases.md +++ b/scripts/automated-patch-releases.md @@ -6,7 +6,7 @@ outlined flow: ```mermaid flowchart TD - A[Start: patch-release.yml Workflow] --> B[Create version bump intent prs] + A[Start: patch-release.yml Workflow] --> B[Create version bump PRs] B --> C[Maintainers Review PRs] C -->|Decides Against Merges| E[Rebases on main branch] --> C C -->|Decides to Merge PRs| D[Run: tag-reconciler.yml Workflow] From af53585086112fd6de88375ce27349fa7016295a Mon Sep 17 00:00:00 2001 From: Francis Shonubi <59811608+olad5@users.noreply.github.com> Date: Fri, 31 May 2024 07:46:44 +0100 Subject: [PATCH 5/7] Update scripts/automated-patch-releases.md Co-authored-by: Sascha Grunert Signed-off-by: Francis Shonubi <59811608+olad5@users.noreply.github.com> --- scripts/automated-patch-releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md index 4a57978419b..3c956152b06 100644 --- a/scripts/automated-patch-releases.md +++ b/scripts/automated-patch-releases.md @@ -40,7 +40,7 @@ package the latest versions for CRI-O ```mermaid flowchart TD A[Start tag-reconciler Github action] --> B[Run Tag-Reconciler Script] - --> C[Check for latest minor versions Tags on remote] + --> C[Check for latest minor versions tags on remote] C --> D{Tag Exists?} D -->|Yes| E[No-op] --> H D -->|No| F[Tag and Push Tag to Remote] From 7e778525ad2f6e4c9b811e225d682fc64d8efa93 Mon Sep 17 00:00:00 2001 From: Francis Shonubi <59811608+olad5@users.noreply.github.com> Date: Fri, 31 May 2024 07:59:04 +0100 Subject: [PATCH 6/7] Update scripts/automated-patch-releases.md Co-authored-by: Sascha Grunert Signed-off-by: Francis Shonubi <59811608+olad5@users.noreply.github.com> --- scripts/automated-patch-releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md index 3c956152b06..50e3acc39d9 100644 --- a/scripts/automated-patch-releases.md +++ b/scripts/automated-patch-releases.md @@ -39,7 +39,7 @@ package the latest versions for CRI-O ```mermaid flowchart TD - A[Start tag-reconciler Github action] --> B[Run Tag-Reconciler Script] + A[Start tag-reconciler Github action] --> B[Run tag-reconciler.go Script] --> C[Check for latest minor versions tags on remote] C --> D{Tag Exists?} D -->|Yes| E[No-op] --> H From 3da7b0699c6db8dce82d77a4b5be2f77f83a3674 Mon Sep 17 00:00:00 2001 From: Francis Shonubi <59811608+olad5@users.noreply.github.com> Date: Fri, 31 May 2024 07:59:41 +0100 Subject: [PATCH 7/7] Update scripts/automated-patch-releases.md Co-authored-by: Sascha Grunert Signed-off-by: Francis Shonubi <59811608+olad5@users.noreply.github.com> --- scripts/automated-patch-releases.md | 39 +++++++++++++++++++---------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/scripts/automated-patch-releases.md b/scripts/automated-patch-releases.md index 50e3acc39d9..91eaacc8c8f 100644 --- a/scripts/automated-patch-releases.md +++ b/scripts/automated-patch-releases.md @@ -1,49 +1,62 @@ # CRI-O Automated Patch Releases Automated Patch Releases provide an easy way of packaging and releasing a new version -of CRI-O. This involves the use of Golang scripts and Github Actions and follows the -outlined flow: +of CRI-O. This involves the use of Golang scripts and Github Actions and follows +the outlined flow: ```mermaid flowchart TD A[Start: patch-release.yml Workflow] --> B[Create version bump PRs] - B --> C[Maintainers Review PRs] - C -->|Decides Against Merges| E[Rebases on main branch] --> C - C -->|Decides to Merge PRs| D[Run: tag-reconciler.yml Workflow] + B --> C[Maintainers Review PRs] --> +|Decides Against Merges| E[Rebases on main branch on the first day of every month] + --> C + C -->|Decides to Merge PRs| D[Run: tag-reconciler.yml Workflow everyday] D --> F[Release Job: Build Packages, Create Release Notes, etc.] F --> G[End] + click A href "https://github.com/cri-o/cri-o/actions/workflows/patch-release.yml" + click D href "https://github.com/cri-o/cri-o/actions/workflows/tag-reconciler.yml" ``` ## Patch Release -The `.github/workflows/patch-release.yml` runs the golang script -`scripts/tag-reconciler/tag-reconciler.go` +The +[patch-release.yml](https://github.com/cri-o/cri-o/actions/workflows/patch-release.yml) +Workflow runs the golang script +[release.go](https://github.com/cri-o/cri-o/blob/main/scripts/release/release.go) ```mermaid flowchart TD - A[Start patch-release Github action] --> B[Run Release Script] + A[Start patch-release.yml Workflow] --> B[Run release.go Script] --> C[Get latest Minor versions from release Branches] C --> D[Bump up version in specific release branch] D -->E[Create PR with new version] E--> F[End] + click A href "https://github.com/cri-o/cri-o/actions/workflows/patch-release.yml" + click B href "https://github.com/cri-o/cri-o/blob/main/scripts/release/release.go" ``` ## Pushing New Version tags To push the new version tags and cut the release, the -`.github/workflows/tag-reconciler.yml` runs the golang script -`scripts/tag-reconciler/tag-reconciler.go` +[tag-reconciler.yml](https://github.com/cri-o/cri-o/actions/workflows/tag-reconciler.yml) +Workflow runs the golang script +[tag-reconciler.go](https://github.com/cri-o/cri-o/blob/main/scripts/tag-reconciler/tag-reconciler.go) -This will inturn run the `.github/workflows/test.yml` which will build and -package the latest versions for CRI-O +This will inturn run the +[test.yml](https://github.com/cri-o/cri-o/actions/workflows/test.yml) +which will build and package the latest versions for CRI-O ```mermaid flowchart TD - A[Start tag-reconciler Github action] --> B[Run tag-reconciler.go Script] + A[Start tag-reconciler.yml Workflow] + --> B[Run tag-reconciler.go Script] --> C[Check for latest minor versions tags on remote] C --> D{Tag Exists?} D -->|Yes| E[No-op] --> H D -->|No| F[Tag and Push Tag to Remote] F--> G[Manually Trigger Test Workflow] G--> H[End] + click A href "https://github.com/cri-o/cri-o/actions/workflows/tag-reconciler.yml" + click B href "https://github.com/cri-o/cri-o/blob/main/scripts/tag-reconciler/tag-reconciler.go" + click G href "https://github.com/cri-o/cri-o/actions/workflows/test.yml" ```