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

Proposal: Update release script #161

Closed
ruflin opened this issue Jul 3, 2020 · 3 comments
Closed

Proposal: Update release script #161

ruflin opened this issue Jul 3, 2020 · 3 comments
Assignees

Comments

@ruflin
Copy link
Collaborator

ruflin commented Jul 3, 2020

Thanks to the new release process elastic/package-storage#86 we now have 3 branches: production, staging, snapshot. The current release script in integrations opens a PR against the production branch. But instead we should start to promote the packages through the stages. As soon as a package is in the snapshot branch, we should have a promote script to move it to staging / production. This is covered by this issue here: elastic/package-storage#123 Here I want to focus on a proposal on how moving forward the release script to get things into snapshot could be adjusted.

The basic assumption is, that every time a PR is merged for a package, it can be released as snapshot. So going from a merged PR to the snapshot branch and publishing it should be fully automatic. This means, changes to packages can be tested by anyone in the Kibana snapshot builds after a few minutes.

The release script would to the following changes after a PR is merged:

  • Build package to bring it in the correct format
  • Get most recent snapshot branch
  • Copy package into snapshot branch. If package with same version already exists, overwrite it.
  • Run all checks on the snapshot branch.
  • If all checks are green, commit and push change to snapshot branch

This will automatically trigger CI which builds a container and releases it to epr-snapshot.elastic.co and makes it available in the SNAPSHOT stack builds. The same version can be pushed multiple times. As soon as a version is ready to release, it is promoted to staging and the package version should be incremented in the manifest.

I wonder what happens if a PR changes multiple packages? Will it do one commit per package or push all packages together? Always pushing all together might simplify things. In the end, only the diff matters.

@exekias
Copy link

exekias commented Jul 3, 2020

The same version can be pushed multiple times. As soon as a version is ready to release, it is promoted to staging and the package version should be incremented in the manifest.

Would this happen with a commit in this repo? I understand we will need to bump versions and tag them for later consumption

@ruflin
Copy link
Collaborator Author

ruflin commented Jul 3, 2020

The version increment would happen with a commit / PR in this repo. The promotion to staging I would expect to happen manually by an engineer through triggering the promotion script.

@mtojek
Copy link
Contributor

mtojek commented Aug 31, 2020

Resolving in favor of elastic/package-storage#123

@mtojek mtojek closed this as completed Aug 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants