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

Automated Publish #2597

Closed
david-driscoll opened this issue May 9, 2017 · 4 comments
Closed

Automated Publish #2597

david-driscoll opened this issue May 9, 2017 · 4 comments

Comments

@david-driscoll
Copy link
Member

From the last team meeting I said I would comment with information on automating things. Basically travis will set environment variables such that when you create a github release (which is a git tag as well) you can run your publish script automagically.

Here are some the scripts I've used with OmniSharp.

At the end of a build publish.sh is called. Then publish.sh looks to see if the commit was a git tag $TAG_COMMIT, and then does the publish operation.

As an aside here travis fires off a pull request to another repo (could be the same repo)

@benlesh
Copy link
Member

benlesh commented Jun 14, 2017

This makes sense, but what about maintaining multiple branches for stable, versus, beta, vs nightlies?

We'd want something were we can promote from master (nightly) to beta, then beta to stable. I guess we could roll something like that into the publish.sh script? Like... "If the tag was beta, but is now not beta, then merge the branch over to stable"?

@benlesh
Copy link
Member

benlesh commented Jun 14, 2017

And to be clear, we don't need "nightlies" necessarily, just a canary label or something that publishes the bleeding edge.

... then again, I guess the daring could just use npm git dependencies.

@david-driscoll
Copy link
Member Author

with the build using git dependencies is problematic I've found.

We could totally fork on standard branch names, and those would just lead to typical npm labels.

next - next patch release
beta - next minor
canary - next major

The big problem will be managing the differences between the branches, ensuring that patches to go stable and then those get merged from stable to beta then master. That could be managed with some scripting as well. If for example we have a small patch for a typings fix, the script would attempt to merge that into beta, if there are no conflicts, then it merges and pushes. If there are conflicts, it opens a PR.

@benlesh
Copy link
Member

benlesh commented Aug 18, 2020

We'll get here some day. Closing it so we can have a discussion at a later point.

@benlesh benlesh closed this as completed Aug 18, 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

2 participants