Builder “Project Settings” Enhancements!

Following our upcoming Builder SaaS release on Monday, March 16th existing users will probably notice a number of new changes to the UI workflow. These changes include:

  • A new package creation flow abstracted away from attached artifacts
  • Correctly functioning package visibility UI elements
  • Per-platform package configuration settings
  • UI Package visibility toggle
  • Fully-featured multi-platform package support
  • Backend changes for performance and responsiveness
  • Platform availability UI elements.

Some of these changes obligate user interaction and we’re hoping to cover what that user response is and why it’s necessary. For a TL;DR on what’s required of you as a user, scroll on down to the bottom!

Let’s discuss these inbound changes to apply some context before we look at what you personally may need to do. When you log into Builder after the release the first difference you’re likely to notice will be in your Origins tab.

In previous releases of builder you would have had a different button at the top of your page. Instead of a ‘Create Package’ button, you likely had a ‘Connect Plan File’ button. While this seems like it could be just a difference of verbiage in the UI, it actually isn’t. As we’ve grown and evolved our understanding of the primitives of ‘Packages’, ‘Artifacts’, or ‘Projects’ in the Habitat project (and in Builder) we’ve come to understand some nuance in the way these concepts should be managed.

In the new release of Builder, it is finally possible to create a “Package” entry without a connected Plan-file or uploaded artifact! Which is where the ‘Create Package’ button comes back in. Essentially, we’ve found that there are cases where users would like to reserve package namespaces in their origins without necessarily uploading an artifact or connecting a planfile and, many more cases where users would like to manage their package settings separately from the creation of a package entry. For many of you this isn’t news. We’ve had an ongoing discussion in the community around a need for this behavior for quite some time and we’re excited to finally make the functionality available to all of you!

Once a Package entry has been created, the management flow should be very similar to current flow with a few moderate changes. Clicking through should land you directly on the Package settings page for your newly created Package entry where you’ll see another long awaited builder feature: you can now set Package visibility settings directly in the UI!

This brings us to our biggest change to the backend in the release (which incidentally is where you may need to make some changes to your Builder Projects). In the past, we provided an abstract path for users with Windows or Linux kernel2 plans to get their packages connected and built. That flow has been removed for a more explicit connection flow. From your ‘Settings’ tab for any Package, you’ll notice a drop down menu for connecting a plan file!

Each Builder ‘Package’ entry can now have multiple ‘Project’ entries, which is to say connected plan files! The project entries are now broken out by a supported platform. What this means for you is, hopefully, better performance and fine-grained control over project settings on a per-platform basis. So, in the case that you build the same piece of software for both Windows and Linux, you can now connect separate planfiles for that “Package” entry.

Which ultimately brings us to what you might need to do to unblock your builds. Part of this change in functionality has obligated us to change the way we handle plan files and target information on the backend. That change in requirements means if you have multi-platform connected plans OR connected plans for Windows or Linux Kernel 2.X you MUST edit your Package settings and reconnect your plan file.

If by some circumstance you don’t reconnect your, for example, plan.ps1 file for your Windows package, your builds will be skipped and new builds of your package will be unavailable until you do.

Finally, once your connections are correctly established, your Package page will now appropriately display connected plan file information with the ability to swap between platforms and trigger a build specific to the platform you require!

Believe it or not, that’s not all. We also have a whole heap of bug-fixes around Package visibility rolled into this release including corrected visibility icons on pretty much all of Builder’s Package pages.

As always, thanks to all of you who are using Builder on a regular basis and a double thank-you to y’all who have opened and commented on issues to help get this work scoped and written.

User Interaction TL;DR: If you have any multi-platform, Windows, or Linux Kernel 2.X connected plans in Builder, you MUST edit your package settings and reconnect your plan-files. If you don’t, builds for those packages will be automatically skipped.