Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci(release): automate release steps for the minor #12233

Merged
merged 69 commits into from
Jan 8, 2024

Conversation

v1v
Copy link
Member

@v1v v1v commented Dec 18, 2023

Motivation/summary

  • Delegate the FF/Post Release steps to be defined in the project.
  • Use GitHub actions with a well-defined contract (input parameters).
  • Those Actions could be called by the Unified Release automatically using workflow_dispatch.

See the test section in the description that explains what PRs and changes have been done when running the GitHub workflow.

patch release to be done in a follow up.

Checklist

For functional changes, consider:

  • Is it observable through the addition of either logging or metrics?
  • Is its use being published in telemetry to enable product improvement?
  • Have system tests been added to avoid regression?

How to test these changes

Minor release

I used my fork to test this out:

For such I ran https://github.com/v1v/apm-server/actions/runs/7288901075 with 8.13.0 and it created:

UI interactions

Once they get triggered through the GitHub actions UI then some slack notifications are sent:

image image image

Copy link
Contributor

mergify bot commented Dec 18, 2023

This pull request does not have a backport label. Could you fix it @v1v? 🙏
To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-7.17 is the label to automatically backport to the 7.17 branch.
  • backport-8./d is the label to automatically backport to the 8./d branch. /d is the digit.

NOTE: backport-skip has been added to this pull request.

@mergify mergify bot added the backport-skip Skip notification from the automated backport with mergify label Dec 18, 2023
Copy link
Contributor

mergify bot commented Dec 19, 2023

This pull request is now in conflicts. Could you fix it @v1v? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/

git fetch upstream
git checkout -b feature/automate-release-process upstream/feature/automate-release-process
git merge upstream/main
git push upstream feature/automate-release-process

@v1v v1v added the backport-8.12 Automated backport with mergify label Dec 21, 2023
@v1v v1v self-assigned this Dec 21, 2023
@v1v v1v requested a review from a team December 21, 2023 13:46
@v1v v1v marked this pull request as ready for review December 21, 2023 13:46
@v1v v1v requested a review from a team as a code owner December 21, 2023 13:46
@@ -0,0 +1,109 @@
---
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To help run some pre-flight validations

@carsonip
Copy link
Member

carsonip commented Jan 3, 2024

Let's see if #12333 fixes the lint check error

@kruskall kruskall enabled auto-merge (squash) January 8, 2024 02:20
@kruskall kruskall merged commit 7f98e30 into main Jan 8, 2024
11 of 12 checks passed
@kruskall kruskall deleted the feature/automate-release-process branch January 8, 2024 02:36
mergify bot pushed a commit that referenced this pull request Jan 8, 2024
* ci(release): automate release steps

* refactor a bit

* report non supported versions

* rename make goals and add some docs

* cosmetic changes in the slack messages

* support slack threads

* fix

* chore

* chore

* refactor: patch

* refactor: minor

* fix

* use slack channel env

* use output slack-thread

* avoid concurrency

* support full checkout and validaitons

* notify what's the error if any failure

* fix

* chore

* initial

* exclude

* chore

* enable mergify and yq

* update mergify if required

* Revert "update mergify if required"

This reverts commit 299e6d8.

* update mergify if required

* use RELEASE_BRANCH

add create make goal

* fix

* support prs

* run only if things were created correctly

* fix

* force branch

* refactor

* refactor

* github warn

* enable

* set makefile and use variable

* fix

* fix

* create head

* update changelog

* replace compare

* modify

* partial

* fix

* fix

* refactor

* docs

* test

* action: grant permissions

* notify if failrues

* use base branch

* fix hardcoded value

* remove leaving directory

* cannot user github bot to create PRs

* chore

* enable

* chore

* fix

* production

* use release version

* support for #12251

---------

Co-authored-by: Silvia Mitter <[email protected]>
Co-authored-by: Carson Ip <[email protected]>
(cherry picked from commit 7f98e30)

# Conflicts:
#	.github/workflows/run-minor-release.yml
#	.github/workflows/run-patch-release.yml
#	.gitignore
#	Makefile
mergify bot pushed a commit that referenced this pull request Jan 8, 2024
* ci(release): automate release steps

* refactor a bit

* report non supported versions

* rename make goals and add some docs

* cosmetic changes in the slack messages

* support slack threads

* fix

* chore

* chore

* refactor: patch

* refactor: minor

* fix

* use slack channel env

* use output slack-thread

* avoid concurrency

* support full checkout and validaitons

* notify what's the error if any failure

* fix

* chore

* initial

* exclude

* chore

* enable mergify and yq

* update mergify if required

* Revert "update mergify if required"

This reverts commit 299e6d8.

* update mergify if required

* use RELEASE_BRANCH

add create make goal

* fix

* support prs

* run only if things were created correctly

* fix

* force branch

* refactor

* refactor

* github warn

* enable

* set makefile and use variable

* fix

* fix

* create head

* update changelog

* replace compare

* modify

* partial

* fix

* fix

* refactor

* docs

* test

* action: grant permissions

* notify if failrues

* use base branch

* fix hardcoded value

* remove leaving directory

* cannot user github bot to create PRs

* chore

* enable

* chore

* fix

* production

* use release version

* support for #12251

---------

Co-authored-by: Silvia Mitter <[email protected]>
Co-authored-by: Carson Ip <[email protected]>
(cherry picked from commit 7f98e30)

# Conflicts:
#	.github/workflows/run-minor-release.yml
#	.github/workflows/run-patch-release.yml
@v1v
Copy link
Member Author

v1v commented Jan 9, 2024

@Mergifyio backport 7.17

@v1v
Copy link
Member Author

v1v commented Jan 9, 2024

@Mergifyio backport 8.12

Copy link
Contributor

mergify bot commented Jan 9, 2024

backport 7.17

✅ Backports have been created

Copy link
Contributor

mergify bot commented Jan 9, 2024

backport 8.12

✅ Backports have been created

mergify bot added a commit that referenced this pull request Jan 9, 2024
* ci(release): automate release steps

* refactor a bit

* report non supported versions

* rename make goals and add some docs

* cosmetic changes in the slack messages

* support slack threads

* fix

* chore

* chore

* refactor: patch

* refactor: minor

* fix

* use slack channel env

* use output slack-thread

* avoid concurrency

* support full checkout and validaitons

* notify what's the error if any failure

* fix

* chore

* initial

* exclude

* chore

* enable mergify and yq

* update mergify if required

* Revert "update mergify if required"

This reverts commit 299e6d8.

* update mergify if required

* use RELEASE_BRANCH

add create make goal

* fix

* support prs

* run only if things were created correctly

* fix

* force branch

* refactor

* refactor

* github warn

* enable

* set makefile and use variable

* fix

* fix

* create head

* update changelog

* replace compare

* modify

* partial

* fix

* fix

* refactor

* docs

* test

* action: grant permissions

* notify if failrues

* use base branch

* fix hardcoded value

* remove leaving directory

* cannot user github bot to create PRs

* chore

* enable

* chore

* fix

* production

* use release version

* support for #12251

---------

Co-authored-by: Silvia Mitter <[email protected]>
Co-authored-by: Carson Ip <[email protected]>
(cherry picked from commit 7f98e30)

# Conflicts:
#	.github/workflows/run-minor-release.yml
#	.github/workflows/run-patch-release.yml

Co-authored-by: Victor Martinez <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
v1v added a commit to v1v/apm-server that referenced this pull request Jan 10, 2024
* feature/patch-release: (249 commits)
  Update release.mk
  [updatecli] Bump elastic stack version to 8.13.0-8upz6ftd (elastic#12380)
  chore: Update to elastic/beats@95f0f85a3edd (elastic#12370)
  ci(release): automate release steps for the minor (elastic#12233)
  build(deps): bump the github-actions group with 1 update (elastic#12365)
  chore: Update to elastic/beats@d1b32774aef4 (elastic#12362)
  [updatecli] Bump elastic stack version to 8.13.0-ybxdr713 (elastic#12349)
  chore: Update to elastic/beats@81ebafc4c2da (elastic#12352)
  [apm docs consolidation] Delete moved files, update README (elastic#12341)
  [updatecli] Bump elastic stack version to 8.13.0-toucn398 (elastic#12325)
  docs: fix incorrect filenames in a document for Windows (elastic#12343)
  chore: Update to elastic/beats@6f192c01ef19 (elastic#12337)
  build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (elastic#12237)
  Update NOTICE.txt year (elastic#12333)
  build(deps): bump the github-actions group with 1 update (elastic#12322)
  [updatecli] Bump elastic stack version to 8.13.0-4f8l51qr (elastic#12315)
  docs: Update known issues as fix was released (elastic#12196)
  feat: use latest apm-data to set success `event.outcome` when otel span.Status is Unset (elastic#12199)
  [updatecli] Bump elastic stack version to 8.13.0-4aavtlfc (elastic#12304)
  chore: rename apm-mutating-webhook to apm-k8s-attacher (elastic#12222)
  ...
@v1v
Copy link
Member Author

v1v commented Jan 15, 2024

💚 All backports created successfully

Status Branch Result
7.17

Questions ?

Please refer to the Backport tool documentation

v1v added a commit to v1v/apm-server that referenced this pull request Jan 15, 2024
* ci(release): automate release steps

* refactor a bit

* report non supported versions

* rename make goals and add some docs

* cosmetic changes in the slack messages

* support slack threads

* fix

* chore

* chore

* refactor: patch

* refactor: minor

* fix

* use slack channel env

* use output slack-thread

* avoid concurrency

* support full checkout and validaitons

* notify what's the error if any failure

* fix

* chore

* initial

* exclude

* chore

* enable mergify and yq

* update mergify if required

* Revert "update mergify if required"

This reverts commit 299e6d8.

* update mergify if required

* use RELEASE_BRANCH

add create make goal

* fix

* support prs

* run only if things were created correctly

* fix

* force branch

* refactor

* refactor

* github warn

* enable

* set makefile and use variable

* fix

* fix

* create head

* update changelog

* replace compare

* modify

* partial

* fix

* fix

* refactor

* docs

* test

* action: grant permissions

* notify if failrues

* use base branch

* fix hardcoded value

* remove leaving directory

* cannot user github bot to create PRs

* chore

* enable

* chore

* fix

* production

* use release version

* support for elastic#12251

---------

Co-authored-by: Silvia Mitter <[email protected]>
Co-authored-by: Carson Ip <[email protected]>
(cherry picked from commit 7f98e30)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-7.17 Automated backport with mergify to the 7.17 branch backport-8.12 Automated backport with mergify
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants