Stream: show and tell

Topic: Rocup for the new zig compiler


view this post on Zulip Ian McLerran (May 12 2026 at 16:52):

I've been wanting an updated version of rocup for a while, so I finally created one.
https://github.com/imclerran/rocup

Full credit to @Krzysztof Kielak's original rocup as inspiration - this is a totally revamped rocup with the zig based compiler first-class.

usage: rocup [alpha4 | latest | <hash> | <path> | +N | -N | list | remove <ver> | prune <N>]

Install it with:

curl -fsSL https://raw.githubusercontent.com/imclerran/rocup/main/install.sh | sh

view this post on Zulip Johannes Rubenz (May 12 2026 at 16:58):

Ian McLerran schrieb:

imclerran/rocup

Cool, but watch out, you have a dangerous typo in the GitHub address!

view this post on Zulip Ian McLerran (May 12 2026 at 17:01):

Thanks! Fixed the url!

view this post on Zulip Ian McLerran (May 12 2026 at 17:01):

Double checked the markdown link for typos as well :sweat_smile:

view this post on Zulip Ian McLerran (May 14 2026 at 01:39):

Just added Windows support as well.

Windows usage is the same, with the exception of alpha4-rolling, which does not have a Windows binary, and so that command is dropped from the Windows version.

Installed with:

iwr -useb https://raw.githubusercontent.com/imclerran/rocup/main/install.ps1 | iex

view this post on Zulip Romain Lepert (Jul 07 2026 at 08:49):

It seems rocup is not seeing the july releases

❯ rocup list
    nightly (06/20/2026) <2016d00>
    nightly (06/21/2026) <d195750>
    nightly (06/23/2026) <a59573d>
    nightly (06/24/2026) <e8f577d>
    nightly (06/25/2026) <e96f798>
    nightly (06/26/2026) <08aae15>
    nightly (06/27/2026) <127861d>
    nightly (06/28/2026) <26ecddf>
    nightly (06/29/2026) <2e1efb1>
 -> nightly (06/30/2026) <09084da>

https://github.com/roc-lang/nightlies/releases#release-nightly-2026-July-06-17d1197

view this post on Zulip Anton (Jul 07 2026 at 11:03):

@Ian McLerran

view this post on Zulip Romain Lepert (Jul 07 2026 at 13:23):

rocup follows the created_at ordering returned by https://api.github.com/repos/roc-lang/nightlies/releases.

The issue is that the releases' created_at dates are not as reliable as their published_at.

❯ ruby -rjson -ropen-uri -e 'JSON.parse(URI.open("https://api.github.com/repos/roc-lang/nightlies/releases?per_page=15&page=1").read).each { |r| puts [r["tag_name"], "created_at=#{r["created_at"]}", "published_at=#{r["published_at"]}"].join("  ") }'
nightly-2026-June-30-09084da  created_at=2026-06-27T17:19:38Z  published_at=2026-06-30T16:02:45Z
nightly-2026-June-29-2e1efb1  created_at=2026-06-27T17:19:38Z  published_at=2026-06-29T13:50:13Z
nightly-2026-June-28-26ecddf  created_at=2026-06-27T17:19:38Z  published_at=2026-06-28T11:54:36Z
nightly-2026-July-07-050c697  created_at=2026-06-27T17:19:38Z  published_at=2026-07-07T12:37:36Z
nightly-2026-July-06-17d1197  created_at=2026-06-27T17:19:38Z  published_at=2026-07-06T13:41:27Z
nightly-2026-July-05-c0cae66  created_at=2026-06-27T17:19:38Z  published_at=2026-07-05T11:48:44Z
nightly-2026-July-04-f6e63b3  created_at=2026-06-27T17:19:38Z  published_at=2026-07-04T18:04:53Z
nightly-2026-July-03-c562054  created_at=2026-06-27T17:19:38Z  published_at=2026-07-03T16:24:41Z
nightly-2026-July-02-d197cbe  created_at=2026-06-27T17:19:38Z  published_at=2026-07-02T16:14:15Z
nightly-2026-July-01-7981032  created_at=2026-06-27T17:19:38Z  published_at=2026-07-01T12:16:25Z
nightly-2026-June-27-127861d  created_at=2026-06-23T12:52:09Z  published_at=2026-06-27T11:13:29Z
nightly-2026-June-26-08aae15  created_at=2026-06-23T12:52:09Z  published_at=2026-06-26T13:41:30Z
nightly-2026-June-25-e96f798  created_at=2026-06-23T12:52:09Z  published_at=2026-06-25T13:09:42Z
nightly-2026-June-24-e8f577d  created_at=2026-06-23T12:52:09Z  published_at=2026-06-24T12:07:49Z
nightly-2026-June-23-a59573d  created_at=2026-06-23T12:52:09Z  published_at=2026-06-23T15:22:01Z

So either:
1) roc fixes the created_at to match the published_at and tag_name
2) rocup fetches a page large enough (60 for 2 months?) to do a published_at reordering

Note that there is no ?sort=published_at query available in the release REST API https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28

view this post on Zulip Anton (Jul 07 2026 at 13:52):

Thanks for looking into this @Romain Lepert :)
The created_at is based on commits in the nightlies repo, not the main roc repo. I would prefer to avoid creating meaningless commits or tags on the nightlies repo to "fix" the created_at dates.


Last updated: Jul 23 2026 at 13:15 UTC