Skip to content

Instantly share code, notes, and snippets.

@belisarius222
Last active March 22, 2023 16:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save belisarius222/83a3c3af5497fb54cdc1aaa3be36a9bd to your computer and use it in GitHub Desktop.
Save belisarius222/83a3c3af5497fb54cdc1aaa3be36a9bd to your computer and use it in GitHub Desktop.
414k App Upgrade Instructions

How to Upgrade your App to Zuse 414k

This Kelvin requires more work to update than some previous Kelvins because the $foam type was deleted from Lull. This means if your app imports the full base-dev folder as a dependency the way most apps do and your app imports /sur/hood/hoon (as a lot of apps do), you will need to update that dependency for 414 by copying in the most recent files, and also drop support for older Kelvins by deleting their entries from /sys/kelvin and replacing them all with just [%zuse 414]. If your app does not have any files that import /sur/hood/hoon with Ford runes, you might be able to support 414 and 415 without modifying code -- if so, please test your app to be sure.

Note that Clay can still handle later commits targeted at 415, so as an app dev, you can maintain both 414 and 415 -- the constraint is that each commit to your app desk can only support one or the other if you are using the standard /sur/hood/hoon. Supporting both in the same stream of commits to the same desk is admittedly awkward, so if anybody has an idea of how to simplify the management of multi-Kelvin releases, please share that with me and the community.

If you don't need the full /sur/hood/hoon, an alternative approach to supporting this new Kelvin is to replace /sur/hood/hoon and a couple other related files with smaller versions that just include the type definitions. See ~nocsyx-lassul's version of this in the %garden desk. If you take this route, you should still be able to maintain support for older Kelvins. The important thing is to test your app on both old and new Kelvins if you want to be able to support both.

You can check whether your app compiles at the new Kelvin by running a moon, upgrading the kernel on that moon by running |ota ~binnec-dozzod-marzod and waiting until it completes (check by running zuse in the Dojo and seeing %414 in response), then try to copy your app folder in and run it. If you see stack traces, it didn't work. If it did work, running +vat %my-app should show status: running, and +agents %my-app should list all the agents in your /desk/bill.

If you see /sur/hood/hoon fail to compile at the new Kelvin (414), complaining about $foam, that means your app is still referring to the old /sur/hood/hoon, so your app will not build unless you update it. Conversely, if you see /sur/hood/hoon fail to compile at the old Kelvin (415), then that means your app is still signaling compatibility with the old Kelvin despite not actually being able to be built at that Kelvin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment