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

Feature request: Semantic Versioning/More Frequent Releases #634

Closed
3 of 5 tasks
runofthemill opened this issue Aug 9, 2016 · 6 comments
Closed
3 of 5 tasks

Feature request: Semantic Versioning/More Frequent Releases #634

runofthemill opened this issue Aug 9, 2016 · 6 comments

Comments

@runofthemill
Copy link
Contributor

runofthemill commented Aug 9, 2016

Submit a feature request or bug report

Replace any X with your information.


What is the current behavior?

Since 0.9.7 was released, there have been 100+ commits to the repo, and recently some breaking changes have been introduced. It's challenging to keep Trellis up to date while at the same time avoiding large breaking changes (e.g. Upgrade Ubuntu from 14.04 Trusty to 16.04 Xenial) when smaller bug fixes are interspersed with larger ones. It's impossible to get SSL with Let's Encrypt to work on 0.9.7, but merging HEAD will introduce breaking changes. Additionally, the documentation for Trellis has changed a bit, and so no longer corresponds to the latest release. And since all the docs for Trellis/Bedrock/Sage are in one repo, it's not as easy as selecting the 0.9.7 tag to find the right docs.

What is the expected or desired behavior?

It would be great if Trellis adopted Semantic Versioning, or something with similar principles. Alternatively, some sort of rules around feature branching to prevent the issues mentioned.

SemVer isn't necessarily a panacea, but I wanted to start a discussion and see what people think. Perhaps the solution is more frequent releases, or more comprehensive documentations to changes. It's asking for more work upfront, but should reduce issues that users run into and don't know how to address (along with hopefully fewer help requests on Discourse).

Again, this is really to start a discussion about how to make Trellis easier to use/better documented.


Feature Request

Please provide use cases for changing the current behavior:

See above :)

@swalkinshaw
Copy link
Member

We mostly agree with you and have discussed this internally before. Couple points:

  1. Yes we should release more often.
  2. Breaking changes since 0.9.7 is fine even semantically speaking. All these updates have been to master without a release so there's nothing wrong with that (except that we should have done more releases in between).

Our plan (which wasn't much of one), was to start enforcing sem ver as of 1.0. 1.0 has taken way too long as we've been trying to cram too much in before it happened. Something else always came up to move it back like Ubuntu 16.04.

The only thing I'd like done before 1.0 is #630 (or another version of it).

Docs is a separate issue I guess that's harder to solve. We host the docs on https://roots.io and it's difficult to add proper versioning to it. We've looked into it a few times but nothing has happened yet :(

@runofthemill
Copy link
Contributor Author

Yeah, I realize sem versioning wouldn't eliminate breaking changes, I guess it's just that if it were used (along with more releases) it would be easier to know what can be merged with what sort of repercussions.

I guess my concern is more about more comprehensive documentation and/or more frequent releases, and perhaps holding on publishing documentation changes to roots.io if they aren't part of a release? I'm not sure when the feature was added, but the WP<->GH sync plugin now supports publishing to WP even if the post doesn't exist beforehand. It indicates that only docs on the master branch will get published, so that could be used for the docs for the current release, and changes related to head could be branched, then merged when they get released - just a thought.

@runofthemill
Copy link
Contributor Author

Here's a workflow that might help with the issues Trellis users are facing - https://www.thoughtworks.com/insights/blog/enabling-trunk-based-development-deployment-pipelines

@runofthemill
Copy link
Contributor Author

Circling back on this - now that #630 has been merged, perhaps it's a good time to bump Trellis to 1.0 and start using semver? 😁

@swalkinshaw
Copy link
Member

@runofthemill that's the plan!

We merged in a lot of changes lately so we're going to wait 1-2 weeks and see how stable they are. When they are, we'll be tagging 1.0.0.

@runofthemill
Copy link
Contributor Author

Closed by #1055 👏🏻🎉💯

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