GrapheneOS / infrastructure

Shared server infrastructure

Home Page:https://grapheneos.org/articles/grapheneos-servers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem with build server clock?

chgans opened this issue · comments

Not sure if there's a problem with the server clock or if my reasoning is wrong:
This commit GrapheneOS/script@f711a52
has bumped Android to SP2A.220405.004 (aka android-12.1.0_r4) on the 4th of April, 18:52 UTC
Please note the 0405 in google's version

The first tag published by the builder is https://github.com/GrapheneOS/platform_manifest/commits/SP2A.220405.003.2022040400
Please note the 040400 in the GrapheneOS tag. 4th of April 00:XX UTC?

I could not create a ticket in the script repo, so i thought this project might be the best match

220405

This isn't an actual timestamp. It's a symbolic one meaning it was a branch made for the April 2022 security update (2022-04-05).

2022040400

This is YYYYMMDDNN where NN is a counter throughout that day. The first release for that day is 00, then 01, then 02, etc. It's the same scheme used for DNS in order to represent a timestamp in a readable was that fits within a 32 bit integer when the string is interpreted as one.

April 4th was the first Monday of April. AOSP update is normally released on the first Monday of the month unless it's a US / Google holiday in which case it gets deferred. 2022-04-05 security patch was released 2022-04-04. The YYYY-MM-01 / YYYY-MM-05 patch levels are arbitrary timestamps representing the AOSP-only and full patch levels for the month where they each include all previous security patch levels.

Thanks for your comments, very appreciated.
BTW, do you know if the GrapheneOS CI build scripts are available somewhere?

There's no build server and no CI scripts.

Oh! That's interesting.
Who/what is building the flashers and updaters? Who/what is uploading them? And maintaining the release notes?
Is this all manual process?

Release notes are written by hand as changes are done. They're meant for users instead of developers and aren't tied to individual commits. We try to explain it to end users in a way they can understand to the extent possible. A single feature often involves multiple commits. Releases are made when we decide to do a release. Building and signing a release is started on 2 local workstations used for release builds. None of the building and signing for release builds happens on a server. Servers are used for some development builds but not releases.

Thanks a lot for taking the time to answer my questions. I got complimentary answers from the matrix chat too.