Beta releases

Hi!

As more users are starting to use tuist it is more and more important to not only bring new features, but also make sure that the new features are stable enough, so they can be used by tuist users with confidence.

A lot of matured projects, like Alamofire, have a dedicated beta release process in which they introduce big new features or large-scale refactors where it is important that only a subset of users are using the new version before introducing it to the rest of the community. So for example I am working on a new signing feature, but I’d love to get some feedback from users who want to try it out before introducing it to everyone.

An obvious drawback is that it will result in more time spent on maintenance of the project and a slower iteration process for the main version.

It’d also necessitate some changes in tuist-env in order to enable users to easily try out new beta versions. I have not thought about how exactly the new interface would work, but that’s something we can figure out once we feel like it is something that the community would want.

So, what I’d like to ask you is:
Do you feel like a revamped release process brings enough value to overcome the aforementioned drawbacks?

And, of course, any other feedback you have would be appreciated.

Have a great rest of the weekend :sparkles:!

hey @marekfort,

thank you very much for bringing this up. Usually, beta channels are helpful to bring more confidence when releasing new versions (as you pointed out). However, at the moment we are getting a lot of confidence through our acceptance tests suite, where we test common use cases.

Adding a beta channel would certainly increase the confidence a bit, but it’d also complicate a release process that we don’t have automated yet. I think we should introduce it at some point, but before doing it we should automate the process and have a more regular cadence that we can commit to.

What do you think? we could start by automating the release process using CI pipelines.

Thanks for the response!

I agree that it’s a good first step to first automate the release process. Once that’s done, let’s revisit this again :slightly_smiling_face: