From 3f60cd9f909d39382336345e828845b2842c20bf Mon Sep 17 00:00:00 2001 From: Tinnus Napbus Date: Thu, 1 Dec 2022 14:17:23 +1300 Subject: [PATCH 01/20] eyre: fix %host scry so it still says secure if localhost --- pkg/arvo/sys/vane/eyre.hoon | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkg/arvo/sys/vane/eyre.hoon b/pkg/arvo/sys/vane/eyre.hoon index 9ca69c5373..acd826479e 100644 --- a/pkg/arvo/sys/vane/eyre.hoon +++ b/pkg/arvo/sys/vane/eyre.hoon @@ -2617,11 +2617,9 @@ =* domains domains.server-state.ax =* ports ports.server-state.ax =/ =host:eyre [%& ?^(domains n.domains /localhost)] - =/ secure=? &(?=(^ secure.ports) !?=(hoke:eyre host)) =/ port=(unit @ud) - ?. secure + ?. ?=(^ secure.ports) ?:(=(80 insecure.ports) ~ `insecure.ports) - ?> ?=(^ secure.ports) ?:(=(443 u.secure.ports) ~ secure.ports) ``[secure port host] == From 94519cbfbf833e3bf22707fc70e58b4d583b2167 Mon Sep 17 00:00:00 2001 From: bacwyls Date: Wed, 7 Dec 2022 17:16:11 -0600 Subject: [PATCH 02/20] clay: add scry for subscribers of a desk This data is valuable for app developers and %base OTA providers --- pkg/arvo/sys/vane/clay.hoon | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index ff2ccaf891..d97b9e35bd 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4245,6 +4245,21 @@ %- wrap:fusion (page-to-cage:(aeon-ford yon) u.peg) ``cage+[-:!>(*^cage) cage] + :: + %subs + =/ doj=(unit dojo) (~(get by dos.rom) i.t.pax) + ?~ doj ~ + =| sus=(set ship) + =/ wos ~(tap in ~(key by qyx.u.doj)) + |- + ?~ wos + ``noun+!>(sus) + ?~ for.i.wos + $(wos t.wos) + %= $ + wos t.wos + sus (~(put in sus) ship.u.for.i.wos) + == :: %open ``open+!>(prelude:(aeon-ford yon)) %late !! :: handled in +aver From 8609599035f4e447f025ab06db053ed3eba0d3ac Mon Sep 17 00:00:00 2001 From: Philip Monk Date: Tue, 24 Jan 2023 13:07:19 -0700 Subject: [PATCH 03/20] ames: put "is ok"/"not responding" behind |ames-verb Fixes #6245 --- pkg/arvo/sys/lull.hoon | 2 +- pkg/arvo/sys/vane/ames.hoon | 96 +++++++++++++++++++++++++++++-------- 2 files changed, 76 insertions(+), 22 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b5..c5fcd71dc1 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -436,7 +436,7 @@ +$ address @uxaddress :: $verb: verbosity flag for ames :: - +$ verb ?(%snd %rcv %odd %msg %ges %for %rot) + +$ verb ?(%snd %rcv %odd %msg %ges %for %rot %kay) :: $blob: raw atom to or from unix, representing a packet :: +$ blob @uxblob diff --git a/pkg/arvo/sys/vane/ames.hoon b/pkg/arvo/sys/vane/ames.hoon index 41b64dd715..7404aaa186 100644 --- a/pkg/arvo/sys/vane/ames.hoon +++ b/pkg/arvo/sys/vane/ames.hoon @@ -102,6 +102,7 @@ ges=`?`%.n :: congestion control for=`?`%.n :: packet forwarding rot=`?`%.n :: routing attempts + kay=`?`%.n :: is ok/not responding == => ~% %ames ..part ~ @@ -121,14 +122,14 @@ :: +qos-update-text: notice text for if connection state changes :: ++ qos-update-text - |= [=ship old=qos new=qos] + |= [=ship old=qos new=qos k=? ships=(set ship)] ^- (unit tape) :: ?+ [-.old -.new] ~ [%unborn %live] `"; {(scow %p ship)} is your neighbor" - [%dead %live] `"; {(scow %p ship)} is ok" - [%live %dead] `"; {(scow %p ship)} not responding still trying" - [%unborn %dead] `"; {(scow %p ship)} not responding still trying" + [%dead %live] ((trace k ship ships |.("is ok")) ~) + [%live %dead] ((trace k ship ships |.("not responding still trying")) ~) + [%unborn %dead] ((trace k ship ships |.("not responding still trying")) ~) [%live %unborn] `"; {(scow %p ship)} has sunk" [%dead %unborn] `"; {(scow %p ship)} has sunk" == @@ -627,7 +628,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ship-state-4 ship-state-5 @@ -656,7 +657,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ship-state-6 @@ -685,7 +686,7 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 == :: +$ ames-state-8 @@ -693,11 +694,25 @@ =unix=duct =life crypto-core=acru:ames - =bug + bug=bug-9 corks=(set wire) == :: - ++$ bug-9 + $: veb=_[`?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n `?`%.n] + ships=(set ship) + == +:: ++$ ames-state-9 + $: peers=(map ship ship-state) + =unix=duct + =life + crypto-core=acru:ames + bug=bug-9 + corks=(set wire) + snub=(set ship) + == +:: :: $bug: debug printing configuration :: :: veb: verbosity toggles @@ -860,7 +875,8 @@ [%6 ames-state-6] [%7 ames-state-7] [%8 ames-state-8] - [%9 ^ames-state] + [%9 ames-state-9] + [%10 ^ames-state] == :: |= [now=@da eny=@ rof=roof] @@ -983,7 +999,7 @@ :: lifecycle arms; mostly pass-throughs to the contained adult ames :: ++ scry scry:adult-core - ++ stay [%9 %larva queued-events ames-state.adult-gate] + ++ stay [%10 %larva queued-events ames-state.adult-gate] ++ load |= $= old $% $: %4 @@ -1020,8 +1036,15 @@ state=ames-state-8 == [%adult state=ames-state-8] - == == + == == $: %9 + $% $: %larva + events=(qeu queued-event) + state=ames-state-9 + == + [%adult state=ames-state-9] + == == + $: %10 $% $: %larva events=(qeu queued-event) state=_ames-state.adult-gate @@ -1076,12 +1099,22 @@ =. queued-events events.old larval-gate :: - [%9 %adult *] (load:adult-core %9 state.old) + [%9 %adult *] + =. cached-state `[%9 state.old] + ~> %slog.0^leaf/"ames: larva reload" + larval-gate :: [%9 %larva *] + ~> %slog.0^leaf/"ames: larva: load" + =. queued-events events.old + larval-gate + :: + [%10 %adult *] (load:adult-core %10 state.old) + :: + [%10 %larva *] ~> %slog.1^leaf/"ames: larva: load" =. queued-events events.old - =. adult-gate (load:adult-core %9 state.old) + =. adult-gate (load:adult-core %10 state.old) larval-gate :: == @@ -1102,7 +1135,9 @@ 8+(state-7-to-8:load:adult-core +.u.cached-state) =? u.cached-state ?=(%8 -.u.cached-state) 9+(state-8-to-9:load:adult-core +.u.cached-state) - ?> ?=(%9 -.u.cached-state) + =? u.cached-state ?=(%9 -.u.cached-state) + 10+(state-9-to-10:load:adult-core +.u.cached-state) + ?> ?=(%10 -.u.cached-state) =. ames-state.adult-gate +.u.cached-state [moz larval-core(cached-state ~)] -- @@ -1178,15 +1213,15 @@ [moves ames-gate] :: +stay: extract state before reload :: -++ stay [%9 %adult ames-state] +++ stay [%10 %adult ames-state] :: +load: load in old state after reload :: ++ load =< |= $= old-state - $% [%9 ^ames-state] + $% [%10 ^ames-state] == ^+ ames-gate - ?> ?=(%9 -.old-state) + ?> ?=(%10 -.old-state) ames-gate(ames-state +.old-state) :: |% @@ -1260,7 +1295,7 @@ == ++ state-8-to-9 |= ames-state=ames-state-8 - ^- ^^ames-state + ^- ames-state-9 :* peers.ames-state unix-duct.ames-state life.ames-state @@ -1269,6 +1304,19 @@ corks.ames-state *(set ship) == + ++ state-9-to-10 + |= ames-state=ames-state-9 + ^- ^^ames-state + :* peers.ames-state + unix-duct.ames-state + life.ames-state + crypto-core.ames-state + %= bug.ames-state + veb [&1 &2 &3 &4 &5 &6 |6 %.n]:veb.bug.ames-state + == + corks.ames-state + snub.ames-state + == -- :: +scry: dereference namespace :: @@ -1507,6 +1555,7 @@ %ges acc(ges %.y) %for acc(for %.y) %rot acc(rot %.y) + %kay acc(kay %.y) == event-core :: +on-prod: re-send a packet per flow to each of .ships @@ -2016,7 +2065,9 @@ =. +.peer-state +:*^peer-state :: print change to quality of service, if any :: - =/ text=(unit tape) (qos-update-text ship old-qos qos.peer-state) + =/ text=(unit tape) + %^ qos-update-text ship old-qos + [qos.peer-state kay.veb ships.bug.ames-state] :: =? event-core ?=(^ text) (emit duct %pass /qos %d %flog %text u.text) @@ -2421,7 +2472,10 @@ =^ old-qos qos.peer-state [qos.peer-state new-qos] :: if no update worth reporting, we're done :: - ?~ text=(qos-update-text her.channel old-qos new-qos) + =/ text + %^ qos-update-text her.channel old-qos + [new-qos kay.veb ships.bug.ames-state] + ?~ text peer-core :: print message :: From 9e9fdeb2c6db6452a74a61de693b11e6aeb5a6e3 Mon Sep 17 00:00:00 2001 From: dachus Date: Thu, 26 Jan 2023 16:55:23 -0600 Subject: [PATCH 04/20] flow scry added, moved to lull --- pkg/arvo/sys/lull.hoon | 43 ++++++++++++++++++++++++++++++++ pkg/arvo/sys/vane/clay.hoon | 49 +------------------------------------ 2 files changed, 44 insertions(+), 48 deletions(-) diff --git a/pkg/arvo/sys/lull.hoon b/pkg/arvo/sys/lull.hoon index 9bca8c59b5..3f1d1ab0e7 100644 --- a/pkg/arvo/sys/lull.hoon +++ b/pkg/arvo/sys/lull.hoon @@ -885,6 +885,17 @@ +$ norm (axal ?) :: tombstone policy +$ open $-(path vase) :: get prelude +$ page ^page :: export for compat + +$ pour :: ford build w/content + $% [%file =path] + [%nave =mark] + [%dais =mark] + [%cast =mars] + [%tube =mars] + :: leafs + :: + [%vale =path =lobe] + [%arch =path =(map path lobe)] + == +$ rang :: repository $: hut=(map tako yaki) :: changes lat=(map lobe page) :: data @@ -919,6 +930,13 @@ +$ rule [mod=?(%black %white) who=(set whom)] :: node permission +$ rump [p=care q=case r=@tas s=path] :: relative path +$ saba [p=ship q=@tas r=moar s=dome] :: patch+merge + +$ soak :: ford result + $% [%cage =cage] + [%vase =vase] + [%arch dir=(map @ta vase)] + [%dais =dais] + [%tube =tube] + == +$ soba (list [p=path q=miso]) :: delta +$ suba (list [p=path q=misu]) :: delta +$ tako @uvI :: yaki ref @@ -1058,6 +1076,31 @@ %^ cat 7 (sham [%yaki (roll p add) q t]) (sham [%tako (roll p add) q t]) [p q has t] + :: + :: $leak: ford cache key + :: + :: This includes all build inputs, including transitive dependencies, + :: recursively. + :: + +$ leak + $~ [*pour ~] + $: =pour + deps=(set leak) + == + :: + :: $flow: global ford cache + :: + :: Refcount includes references from other items in the cache, and + :: from spills in each desk + :: + :: This is optimized for minimizing the number of rebuilds, and given + :: that, minimizing the amount of memory used. It is relatively slow + :: to lookup, because generating a cache key can be fairly slow (for + :: files, it requires parsing; for tubes, it even requires building + :: the marks). + :: + +$ flow (map leak [refs=@ud =soak]) + :: :: $pile: preprocessed hoon source file :: :: /- sur-file :: surface imports from /sur diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index f9a6f5954d..35dc2d49d6 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -191,19 +191,6 @@ [%1 peg=(unit page)] == :: -:: Global ford cache -:: -:: Refcount includes references from other items in the cache, and -:: from spills in each desk -:: -:: This is optimized for minimizing the number of rebuilds, and given -:: that, minimizing the amount of memory used. It is relatively slow -:: to lookup, because generating a cache key can be fairly slow (for -:: files, it requires parsing; for tubes, it even requires building -:: the marks). -:: -+$ flow (map leak [refs=@ud =soak]) -:: :: Per-desk ford cache :: :: Spill is the set of "roots" we have into the global ford cache. @@ -228,41 +215,6 @@ [%arch =path] == :: -:: Ford build with content. -:: -+$ pour - $% [%file =path] - [%nave =mark] - [%dais =mark] - [%cast =mars] - [%tube =mars] - :: leafs - :: - [%vale =path =lobe] - [%arch =path =(map path lobe)] - == -:: -:: Ford result. -:: -+$ soak - $% [%cage =cage] - [%vase =vase] - [%arch dir=(map @ta vase)] - [%dais =dais] - [%tube =tube] - == -:: -:: Ford cache key -:: -:: This includes all build inputs, including transitive dependencies, -:: recursively. -:: -+$ leak - $~ [*pour ~] - $: =pour - deps=(set leak) - == -:: :: New desk data. :: :: Sent to other ships to update them about a particular desk. @@ -5647,6 +5599,7 @@ %sweep ``[%sweep !>(sweep)] %rang ``[%rang !>(ran.ruf)] %tomb ``[%flag !>((tomb t.path))] + %flow ``[%flow !>(fad.ruf)] %domes domes %tire ``[%tire !>(tore:(lu now rof *duct ruf))] %tyre ``[%tyre !>(tyr.ruf)] From faa16a181129a17d17dd803bd624634a73cec682 Mon Sep 17 00:00:00 2001 From: fang Date: Fri, 27 Jan 2023 14:16:45 +0100 Subject: [PATCH 05/20] eyre: provide proper secure flag in %host scry --- pkg/arvo/sys/vane/eyre.hoon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/arvo/sys/vane/eyre.hoon b/pkg/arvo/sys/vane/eyre.hoon index 1d4f444683..f3ebe95836 100644 --- a/pkg/arvo/sys/vane/eyre.hoon +++ b/pkg/arvo/sys/vane/eyre.hoon @@ -2672,7 +2672,7 @@ ?. ?=(^ secure.ports) ?:(=(80 insecure.ports) ~ `insecure.ports) ?:(=(443 u.secure.ports) ~ secure.ports) - ``[secure port host] + ``[?=(^ secure.ports) port host] == == -- From f6ee174d64b65866feef74a16dc1daf0511b30da Mon Sep 17 00:00:00 2001 From: fang Date: Sat, 28 Jan 2023 00:34:03 +0100 Subject: [PATCH 06/20] webterm: simpler printf rendering As it turns out, the exact behavior of the 'S' CSI command is not "move contents up into scrollback", but rather "delete the top line(s), move other contents up". This behavior leads webterm to eat into outputs whenever it renders slogs. Xterm(.js), when given a newline character at the bottom of a scroll region, does produce the desired behavior of bumping the top line away into scrollback, instead of obliterating it. This implementation now diverges from vere's, which is unfortunate, but the alternative is making webterm track the contents of the bottom-most line of the default session, which seems rather ridiculous by comparison. Fixes #6257. --- pkg/interface/webterm/lib/blit.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/interface/webterm/lib/blit.ts b/pkg/interface/webterm/lib/blit.ts index 720941ff67..6589cb13c2 100644 --- a/pkg/interface/webterm/lib/blit.ts +++ b/pkg/interface/webterm/lib/blit.ts @@ -58,15 +58,15 @@ export const showBlit = (term: Terminal, blit: Blit) => { export const showSlog = (term: Terminal, slog: string) => { // set scroll region to exclude the bottom line, - // scroll up one line, - // move cursor to start of the newly created whitespace, + // move cursor to bottom left of the scroll region, + // print a newline to move everything up a line, // set text to grey, // print the slog, // restore color, scroll region, and cursor. // term.write(csi('r', 1, term.rows - 1) - + csi('S', 1) + csi('H', term.rows - 1, 1) + + '\n' + csi('m', 90) + slog + csi('m', 0) From abd6674ae027b5f8fdc45f04f8b694d072b1c50c Mon Sep 17 00:00:00 2001 From: Tinnus Napbus Date: Mon, 30 Jan 2023 14:46:39 +1300 Subject: [PATCH 07/20] show-vat: fix +show-vat to work with wafts --- pkg/arvo/gen/show-vat.hoon | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/arvo/gen/show-vat.hoon b/pkg/arvo/gen/show-vat.hoon index 922cc92bc4..0d3d1d2b11 100644 --- a/pkg/arvo/gen/show-vat.hoon +++ b/pkg/arvo/gen/show-vat.hoon @@ -6,9 +6,15 @@ :- %tang %- flop ^- tang =/ pax=path /(scot %p p.bec)/[desk]/(scot %da now) -=+ .^([lal=@tas num=@ud] cx+(weld pax /sys/kelvin)) +=/ welt=(list [@tas @ud]) + =+ .^(=waft:clay cx+(weld pax /sys/kelvin)) + %+ sort ~(tap in (waft-to-wefts:clay waft)) + |= [a=weft b=weft] + ?: =(lal.a lal.b) + (lte num.a num.b) + (lte lal.a lal.b) :~ '/sys/kelvin:' - leaf/"[{} {}]" + (sell !>(welt)) '/desk/bill:' (sell !>(.^((list dude:gall) cx+(weld pax /desk/bill)))) == From 11c7ae935f113e899a61c6284370619cb22cbb5f Mon Sep 17 00:00:00 2001 From: fang Date: Sat, 28 Jan 2023 22:03:51 +0100 Subject: [PATCH 08/20] dojo: match hoon.hoon %know %hint printing style Hoon.hoon got the separating + added in 13d1c28, but dojo was never updated to match. Here, we pass it on. --- pkg/arvo/app/dojo.hoon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/arvo/app/dojo.hoon b/pkg/arvo/app/dojo.hoon index dd2600d80b..e9c6904aaf 100644 --- a/pkg/arvo/app/dojo.hoon +++ b/pkg/arvo/app/dojo.hoon @@ -709,7 +709,7 @@ [%hint *] ?+ q.p.a $(a q.a) [%know *] ?@ p.q.p.a [(cat 3 '#' mark.p.q.p.a)]~ - [(rap 3 '#' auth.p.q.p.a (spat type.p.q.p.a) ~)]~ + [(rap 3 '#' auth.p.q.p.a '+' (spat type.p.q.p.a) ~)]~ :: [%help *] [summary.crib.p.q.p.a]~ From 6a2c9355413d69ccd6e417440eb4ce7579249dba Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Wed, 1 Feb 2023 11:22:31 -0500 Subject: [PATCH 09/20] Update issue templates For creating an issue just to make a PR, and some other use cases, it's convenient to be able to create a blank issue. --- .github/ISSUE_TEMPLATE/blank-issue.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/blank-issue.md diff --git a/.github/ISSUE_TEMPLATE/blank-issue.md b/.github/ISSUE_TEMPLATE/blank-issue.md new file mode 100644 index 0000000000..acac852e54 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/blank-issue.md @@ -0,0 +1,10 @@ +--- +name: Blank Issue +about: Other +title: '' +labels: '' +assignees: '' + +--- + + From 9bdb2b5b423bdd422bc66ea7b6de4c14375a0aa6 Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Wed, 1 Feb 2023 15:29:38 -0500 Subject: [PATCH 10/20] MAINTAINERS.md: add release checklist --- MAINTAINERS.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index eceb7ebaf8..db2f54b50f 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -119,3 +119,40 @@ following command: ``` git push origin ``` + +## Releases + +- [ ] Create a pull request from the relevant release branch to `master`. +- [ ] ssh into `~zod` +- [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached. +- [ ] Attach to the screen session using `screen -x` +- [ ] Install the contents of the `%kids` desk on `~marnec-dozzod-marzod` into our `%base`: `|merge %base ~marnec-dozzod-marzod %kids, =gem %only-that` +- [ ] Check that `~zod` has updated to the latest release. For a Kelvin release, you can run `zuse` in the Dojo. Each non-Kelvin release might its own way of checking whether the update has completed, possibly through checking the `%cz` hash of the `%base` desk matches the hash on `~marnec-dozzod-marzod` by comparing the outputs of `+vat %base` on both ships. +- [ ] Merge `~zod`'s `%base` desk into its `%kids` desk to distribute the new code to the network: `|merge %kids our %base, =gem %only-that` +- [ ] Before exiting the screen session on `~zod`, make sure the screen session is not left in copy mode for a long period of time, since that will disrupt `~zod`'s operation. + +### Release Communications + +- [ ] Tag the commit that went onto the live network as a release, using GitHub's "Releases" interface. See the "Tagging" section of this document for details. +- [ ] Email the urbit-dev mailing list with an "[ANNOUNCE]" prefix in the email subject. See previous release emails for reference. +- [ ] Tweet from the `@zodisok` Twitter account linking to the GitHub release. +- [ ] Post links to the release in the Urbit Community Development channel and a channel in the UF public group. + +### Post-Release Git Cleanup + +- [ ] Merge master back into develop. +- [ ] Cut a new release branch from develop. TODO describe release branch naming + +### Post-Release Checks +- [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state. +- [ ] Check that planets are receiving the update. They should start updating within an hour or so. +- [ ] Monitor the Urbit Community Help channel, UF public group channels, and Twitter to make + +### Post-Release Artifacts +After waiting at least 24 hours after the release to the network, make and distribute a pill. +- [ ] Find a ship on the network (for now, use `~halbex-palheb`, which runs the UF public group) whose sources for `%base` and the standard app desks are mainline, not devstream. +- [ ] Ensure the `%cz` hashes of all desks match those on the distribution ships. +- [ ] Make a pill by running `.multi-vX-XX/pill +solid %base %garden %webterm %landscape %groups %talk` (replacing `X-XX` with the appropriate version numbers, in this and later steps). +- [ ] Boot a fakezod off that pill to make sure the pill is viable. +- [ ] Upload the pill to `bootstrap.urbit.org` using the Google Cloud SDK by running: `gsutil cp /path/to/pier/.urb/put/multi-vX-XX.pill gs://bootstrap.urbit.org/urbit-vX.XX.pill` -- note that it should be `vX.XX`, not `vX-XX` as in the original pill filename. +- [ ] Boot a ship with the latest binary and check that it downloads the pill from `https://bootstrap.urbit.org/urbit-vX.XX.pill` where you just uploaded it. From e7c650fb41bf468a6065cdeb59d744ad9ec3bce6 Mon Sep 17 00:00:00 2001 From: james acklin <748181+jamesacklin@users.noreply.github.com> Date: Thu, 2 Feb 2023 08:43:38 -0500 Subject: [PATCH 11/20] meta: fix landscape reporting link fixes tloncorp/landscape-apps#1799 --- .github/ISSUE_TEMPLATE/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ed0ab98420..1cbaa900ad 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,8 @@ blank_issues_enabled: true contact_links: - name: Submit a Landscape issue - url: https://github.com/urbit/landscape/issues/new/choose - about: Issues with Landscape (Tlon's flagship client) should be filed at urbit/landscape. This includes groups, chats, collections, notebooks, and more. + url: https://github.com/tloncorp/landscape-apps/issues/new/choose + about: Issues with Landscape should be filed at tloncorp/landscape-apps. This includes Groups, Talk, and Landscape proper. - name: urbit-dev mailing list url: https://groups.google.com/a/urbit.org/g/dev about: Developer questions and discussions also take place on the urbit-dev mailing list. From cb1ce574751524c5764765909fb5876ba846a033 Mon Sep 17 00:00:00 2001 From: DaneBettis Date: Thu, 2 Feb 2023 11:30:54 +0000 Subject: [PATCH 12/20] added %meme tests to hints.hoon --- tests/run/hints.hoon | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/run/hints.hoon b/tests/run/hints.hoon index ac382497fc..8bdcac295a 100644 --- a/tests/run/hints.hoon +++ b/tests/run/hints.hoon @@ -24,6 +24,14 @@ ++ test-hint-xray ~> %xray.[1 leaf+"test-hint-xray ~"] ~ +:: test that these memory-report hints +:: are safe to run or ignore +++ test-hilt-meme + ~> %meme + ~ +++ test-hint-meme + ~> %meme.[1 leaf+"test-hint-meme ~"] + ~ :: test that the hilt bout hint :: is safe to run or ignore ++ test-hilt-bout From f75e52b9ff0f8557044f21940e2d37645d9b6011 Mon Sep 17 00:00:00 2001 From: bacwyls Date: Thu, 2 Feb 2023 17:20:21 -0600 Subject: [PATCH 13/20] clay: revise scry for subscribers to a desk Address PR6136 comments to improve the interface to this scry. Now it looks like .^((set ship) %cs /=landscape=/subs) instead of .^((set ship) %cs %/subs/landscape) --- pkg/arvo/sys/vane/clay.hoon | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index d97b9e35bd..2e4111c9c5 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4207,6 +4207,20 @@ ++ read-s |= [yon=aeon pax=path] ^- (unit (unit cage)) + ?: ?=([%subs ~] pax) + =/ doj=(unit dojo) (~(get by dos.rom) syd) + ?~ doj `~ + =/ wos ~(tap in ~(key by qyx.u.doj)) + =| sus=(set ship) + |- + ?~ wos + ``noun+!>(sus) + ?~ for.i.wos + $(wos t.wos) + %= $ + wos t.wos + sus (~(put in sus) ship.u.for.i.wos) + == ?. ?=([@ * *] pax) `~ ?+ i.pax `~ @@ -4245,21 +4259,6 @@ %- wrap:fusion (page-to-cage:(aeon-ford yon) u.peg) ``cage+[-:!>(*^cage) cage] - :: - %subs - =/ doj=(unit dojo) (~(get by dos.rom) i.t.pax) - ?~ doj ~ - =| sus=(set ship) - =/ wos ~(tap in ~(key by qyx.u.doj)) - |- - ?~ wos - ``noun+!>(sus) - ?~ for.i.wos - $(wos t.wos) - %= $ - wos t.wos - sus (~(put in sus) ship.u.for.i.wos) - == :: %open ``open+!>(prelude:(aeon-ford yon)) %late !! :: handled in +aver From 98069d56f1b80d053f3ae44f9c76befccbed4f9f Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Fri, 3 Feb 2023 07:31:40 -0800 Subject: [PATCH 14/20] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index db2f54b50f..85d6103779 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -140,7 +140,7 @@ git push origin ### Post-Release Git Cleanup -- [ ] Merge master back into develop. +- [ ] Merge `master` back into `develop`. - [ ] Cut a new release branch from develop. TODO describe release branch naming ### Post-Release Checks From aec89503ce4cbc6ebe306ebeee71a6b3c6ba95b3 Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Fri, 3 Feb 2023 07:31:46 -0800 Subject: [PATCH 15/20] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 85d6103779..73502d532f 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -141,7 +141,7 @@ git push origin ### Post-Release Git Cleanup - [ ] Merge `master` back into `develop`. -- [ ] Cut a new release branch from develop. TODO describe release branch naming +- [ ] Cut a new release branch from `develop`. The branch should have the format `release/urbit-os-vX.XX` ### Post-Release Checks - [ ] Check that `~marzod` and other distribution stars are receiving the update by running `|ames-sift ~zod` and `|ames-verb %rcv %ges`. You should see lots of packets from `~zod`. Once you have confirmed packets are flowing, run `|ames-sift` and `|ames-verb` with no arguments to reset the verbosity state. From 4c2e5460bd37a8225b0a85ac3ebfd54380e19f61 Mon Sep 17 00:00:00 2001 From: bacwyls <92823050+bacwyls@users.noreply.github.com> Date: Fri, 3 Feb 2023 11:46:54 -0600 Subject: [PATCH 16/20] clay: revise /subs %cs scry again return an empty set instead of crashing if desk doesn't exist --- pkg/arvo/sys/vane/clay.hoon | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index 37200eeee3..065478e6cd 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4163,10 +4163,11 @@ |= [yon=aeon pax=path] ^- (unit (unit cage)) ?: ?=([%subs ~] pax) - =/ doj=(unit dojo) (~(get by dos.rom) syd) - ?~ doj `~ - =/ wos ~(tap in ~(key by qyx.u.doj)) =| sus=(set ship) + =/ doj=(unit dojo) (~(get by dos.rom) syd) + ?~ doj + ``noun+!>(sus) + =/ wos ~(tap in ~(key by qyx.u.doj)) |- ?~ wos ``noun+!>(sus) From 09a0da4c84ff965610f3d71a057da80ad9651695 Mon Sep 17 00:00:00 2001 From: Ted Blackman Date: Fri, 3 Feb 2023 12:33:27 -0600 Subject: [PATCH 17/20] clay: refuse %cs subs scry unless at now --- pkg/arvo/sys/vane/clay.hoon | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/arvo/sys/vane/clay.hoon b/pkg/arvo/sys/vane/clay.hoon index 065478e6cd..6f31ae2bf8 100644 --- a/pkg/arvo/sys/vane/clay.hoon +++ b/pkg/arvo/sys/vane/clay.hoon @@ -4160,9 +4160,10 @@ :: +read-s: produce miscellaneous :: ++ read-s - |= [yon=aeon pax=path] + |= [yon=aeon pax=path =case] ^- (unit (unit cage)) ?: ?=([%subs ~] pax) + ?. =([%da now] case) ~ =| sus=(set ship) =/ doj=(unit dojo) (~(get by dos.rom) syd) ?~ doj @@ -4442,7 +4443,7 @@ %f (read-f yon path.mun) %p [(read-p path.mun) ..park] %r (read-r yon path.mun) - %s [(read-s yon path.mun) ..park] + %s [(read-s yon path.mun case.mun) ..park] %t [(read-t yon path.mun) ..park] %u [(read-u yon path.mun) ..park] %v [(read-v yon path.mun) ..park] From 37135d4ae60d9dbce64b7b40e8ee6f97ea6c0818 Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Tue, 7 Feb 2023 09:25:00 -0800 Subject: [PATCH 18/20] add instruction on release branch convention --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 73502d532f..19631be8f3 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -122,7 +122,7 @@ git push origin ## Releases -- [ ] Create a pull request from the relevant release branch to `master`. +- [ ] Create a pull request from the relevant release branch (with the format `release/urbit-os-vX.XX` to `master`. - [ ] ssh into `~zod` - [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached. - [ ] Attach to the screen session using `screen -x` From 563442679dbe47ce91acb7874f40564a18ab2701 Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Tue, 7 Feb 2023 09:26:03 -0800 Subject: [PATCH 19/20] Update MAINTAINERS.md fix typo --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 19631be8f3..c58c227a94 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -122,7 +122,7 @@ git push origin ## Releases -- [ ] Create a pull request from the relevant release branch (with the format `release/urbit-os-vX.XX` to `master`. +- [ ] Create a pull request from the relevant release branch (with the format `release/urbit-os-vX.XX`) to `master`. - [ ] ssh into `~zod` - [ ] Check to ensure that nobody else is ssh'd into `~zod`, by running `screen -ls` and verifying no sessions are attached. - [ ] Attach to the screen session using `screen -x` From 9f92f60a634ad7dec25988c831de8057f9adf04b Mon Sep 17 00:00:00 2001 From: Josh Lehman Date: Tue, 7 Feb 2023 10:59:14 -0800 Subject: [PATCH 20/20] Update MAINTAINERS.md --- MAINTAINERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index c58c227a94..1a0b91a403 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -134,7 +134,7 @@ git push origin ### Release Communications - [ ] Tag the commit that went onto the live network as a release, using GitHub's "Releases" interface. See the "Tagging" section of this document for details. -- [ ] Email the urbit-dev mailing list with an "[ANNOUNCE]" prefix in the email subject. See previous release emails for reference. +- [ ] Update (add a response) the mailing list post to include the base hash of the new release, and indicate that this has now been deployed to the network. - [ ] Tweet from the `@zodisok` Twitter account linking to the GitHub release. - [ ] Post links to the release in the Urbit Community Development channel and a channel in the UF public group.