-
Notifications
You must be signed in to change notification settings - Fork 140
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
Stability of releases & Beta channel #4632
Comments
Seconded! Thanks @gbcatrinoiu for proposing this. |
Hey @gbcatrinoiu, Thank you for this kind and honest feedback ❤️
We totally understand this. Shopify CLI for themes was not in the state we'd liked in the last few months. Having a Ruby process being invoked by the TypeScript CLI was something we needed to do in the past to keep Themes and Apps being distributed in the same package. While that architecture allowed both CLIs to be distributed together, it introduced some fragile points exposed by the challenging setup that developers were facing and other issues (that seem unrelated, but are not). In Shopify CLI 3.67, we fixed that issue with the new TypeScript implementations for all theme commands, and we're glad that won't be a problem in future releases.
With that previous piece of context in mind, we may notice the recent issues have a different root cause than the unstable development experience theme developers had in the last few months. We have the entire Themes CLI running in TypeScript now and some edge cases emerged from that and have been addressed (issues coming from how regexes work differently between Ruby and TypeScript, development server backward-compatibility, etc). Before releasing 3.67, we knew that friction wouldn't be ideal, so to mitigate that, we released in advance a dev preview version of the CLI. We asked for some feedback in advance via email and our Partners Slack. We recognize we could have done a better job in getting more attention from theme developers in that process. Still, that's a process that looks very much like the "Beta channel" this issue proposes. We also released the new implementation with a
We learned from the dev preview process that collecting feedback about beta releases didn't work so well. Instead of doing that, we're adopting the practice of sharing custom builds with reporters when we fix issues that are large or have a less straightforward nature. This helps maintainers and theme developers on validating fixes frequently. Also, reporters are generally more involved with issues, so that might be a bit more effective than the process of sharing an entire beta build (as we did during the dev preview).
Thanks again @gbcatrinoiu, and @lesterdefreitas, for sharing these thoughts. I hope this message provides some clarity about where we were, where we are now, and the future releases. If you ever notice any issue with Shopify CLI, please report them here, and we'll look into a fix or enhancement as soon as possible. We had a lot of moving parts in the last few weeks, but we expect to have our tooling in a much better stage now that we've been able to address those core infrastructure issues that now are part of the past of Themes CLI. |
What about if we opened up the platform for third-party tools so developers have more choice on the amount of tools? I get a first-party tool is the best case scenario but having more tools to interact with themes etc. would be much better in cases where developers can't use the first-party option. I'm still on the opinion that we should have stable, beta and alpha channels like @gbcatrinoiu / @lesterdefreitas stated - something that's industry standard usually. It just doesn't strike confidence that we as developers have to report these issues in an already closed ecosystem. |
@rcasimmons @gbcatrinoiu @lesterdefreitas 👋 really appreciate bringing feedback here, to reiterate what @karreiro shared above:
^ Had an open beta to try out the Typescript implementation of theme commands
^ Made the Typescript implementation the default for theme commands with the option to opt out with a So, we did in fact have a beta channel. Knowing this, we would love your feedback on how we could've done this better (visibility wise we probably didn't do enough to promote the open beta). We’ll also be having a twitter spaces AMA for Liquid Devs on 10/16 at 12 PM ET, if you want to bring those thoughts or more ideas about Liquid DX 🙏
@rcasimmons definitely bring this to the AMA tomorrow if you're free |
This issue seems inactive. If it's still relevant, please add a comment saying so. Otherwise, take no action. P.S. You can learn more about why we stale issues here. |
Thanks again for these comments, @gbcatrinoiu @rcasimmons! We've been heavily relying on the use of snapshots [1] [2] [3] as a strategy to shorten the feedback loop with CLI users and have more stable releases. In the future, when larger changes are introduced, we're going to establish a temporary Beta channel as suggested, so we can globally validate and test the new implementation with CLI users. It should be similar to the one we did with the dev preview; however, we're going to invest even more in communication, so we can engage more developers there (we understand it wasn't the case in the 3.67 release). I'm closing this issue for now. Also, I'd like to publicly thank you, @isaacroldan, for adding the |
Hey everyone,
First of all, thank you for always being quick to release fixes! However, there’s a concern many of us frontend developers working in e-commerce agencies have been discussing over the past few weeks, if not months.
Unfortunately, the quality of recent releases seems to have declined, causing significant issues in production stores and, perhaps even more critically, impacting the theme development process. We’ve encountered instances where the tool breaks down every few minutes, JSON templates are lost or overwritten, sometimes unrelated errors to the actual cause, and the issues only get resolved through hotfix releases (which we appreciate, by the way!).
Since this is the only tool available for developing and deploying themes, it’s essential to have a stable version that functions reliably. Would it be possible to establish a beta channel where new features can be pre-released and tested? I’d be more than happy to use the beta channel as my primary option but still have the ability to switch to a stable version in the event of a major bug.
Looking forward to hearing your thoughts on this. Thanks!
The text was updated successfully, but these errors were encountered: