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

Add logic to build stable and edge builds for gitea snap #12052

Merged
merged 3 commits into from
Jul 17, 2020

Conversation

popey
Copy link
Contributor

@popey popey commented Jun 25, 2020

This adds some logic to enable the snapcraft builds of the gitea snap to create both builds of the latest tip of master for edge channels, and stable releases.

The logic simply looks for a new upstream release in github, and if that latest tagged release is not the same as the release in the candidate channel in the snap store, then it must be new, and so we checkout that tag and build that. If the current released tag is the same as what's in candidate, we build whatever is in git master.

The process for using this is:

Initially: When this lands, it will build the latest stable release of gitea and push to the edge channel in the snap store. Someone on the release team can go to https://snapcraft.io/gitea/releases and release that build to stable and candidate.

Ongoing: The next build to be triggered will be a git master build, and can just sit in edge, nothing for the release team to do.

On new release: The next build triggered will contain the stable release, and will be published to edge. Someone on the release team can login to the above URL and release that again to stable & candidate. Alternatively they can release to candidate, do some additional testing on that release before releasing to stable.

Hope that all makes sense. Questions / comments welcome.

I'm super keen to see stable releases of Gitea in the stable channel of the Snap Store. I'd like to promote it but I can't really until it's in stable.

This adds some logic to enable the snapcraft builds of the gitea snap to create both builds of the latest tip of master for edge channels, and stable releases.

The logic simply looks for a new upstream release in github, and if that latest tagged release is not the same as the release in the candidate channel in the snap store, then it must be new, and so we checkout that tag and build that. If the current released tag is the same as what's in candidate, we build whatever is in git master.

The process for using this is:

Initially: When this lands, it will build the latest stable release of gitea and push to the edge channel in the snap store. Someone on the release team can go to https://snapcraft.io/gitea/releases and release that build to stable and candidate.

Ongoing: The next build to be triggered will be a git master build, and can just sit in edge, nothing for the release team to do.

On new release: The next build triggered will contain the stable release, and will be published to edge. Someone on the release team can login to the above URL and release that again to stable & candidate. Alternatively they can release to candidate, do some additional testing on that release before releasing to stable.

Hope that all makes sense. Questions / comments welcome.

I'm super keen to see stable releases of Gitea in the stable channel of the Snap Store. I'd like to promote it but I can't really until it's in stable.
@lafriks lafriks added the topic/build PR changes how Gitea is built, i.e. regarding Docker or the Makefile label Jun 25, 2020
@techknowlogick techknowlogick added this to the 1.13.0 milestone Jun 25, 2020
@GiteaBot GiteaBot added the lgtm/need 1 This PR needs approval from one additional maintainer to be merged. label Jun 25, 2020
@techknowlogick techknowlogick changed the title Add logic to build stable and edge builds Add logic to build stable and edge builds for gitea snap Jun 25, 2020
@silverwind
Copy link
Member

This doesn't prevent a downgrade from 1.12 to 1.11, right? Also, what about tags like v1.12.0-rc2?

$ git for-each-ref --sort=taggerdate --format '%(tag)' refs/tags | tail -5
v1.12.0-rc2
v1.11.7
v1.12.0
v1.11.8
v1.12.1

@techknowlogick
Copy link
Member

@silverwind As I understand it we need to manually release to beta/stable using the snap website, and that would prevent a downgrade.

@techknowlogick
Copy link
Member

@silverwind just checked and my assumption is correct, we would have to manually promote specific versions and this would prevent downgrades.

Example of how we would promote using snapcraft GUI:
Screen Shot 2020-07-15 at 11 41 48 PM

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Jul 17, 2020
@techknowlogick
Copy link
Member

🚀

@techknowlogick techknowlogick merged commit b609a25 into go-gitea:master Jul 17, 2020
@techknowlogick
Copy link
Member

techknowlogick commented Jul 17, 2020

@popey I've just released a stable version of the snap 🎉 Thanks for your work on this :)

@popey
Copy link
Contributor Author

popey commented Jul 22, 2020

@techknowlogick Sorry I missed the notifications. This is super news! :D

@go-gitea go-gitea locked and limited conversation to collaborators Nov 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. topic/build PR changes how Gitea is built, i.e. regarding Docker or the Makefile
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants