The Rolling version number was previously set as the result of a
`date` command, implicitly using server time (as of the time the CI
build was running, in the time zone of the server), meaning the
version number could be different based on server timezone across many
regions the CI could happen to run in, based on the timing of re-runs,
or change due to slight differences in how runners were allocated to
run each job.
Most notably, this could lead to the different OS/arch builds having
different version numbers from the same overall CI build, since they
ran in separate tasks!
Now that we have multiple CI providers building the editor binaries,
we have rather drastically different timing of these runs, and the
version numbers are likely never going to sync up.
---
By setting the version number from the commit date, always in UTC,
Rolling versions on Cirrus should now always sync up
with an existing version as published from GitHub Actions.
This also means we can check the commit dates of recent commits to
`master` branch in order to know which exact commit a given Rolling
release version corresponds to.
---
This idea was worked on by a few people, and also thanks to this
StackOverflow answer:
https://stackoverflow.com/questions/21363187/git-show-dates-in-utc
Co-authored-by: Meadowsys <blazeykirin@gmail.com>
Co-authored-by: confused-Techie <dev@lhbasics.com>
This script renames the Pulsar binaries to use the naming scheme
we use for all of the Regular release binaries.
It was already added to the Cirrus config,
now it's used in the GitHub Actions workflow as well.
(It checks the version string in package.json to know not to rename
the binaries unless we're actually trying to make a Regular release.)
Restore these dependencies from the "build editor" job cache,
and skip (re)installing the dependencies
if restoring from cache succeeds.
Saves a huge amount of run-time, compared to having to (re)install
all the editor's dependencies over again fresh
in each individual package's respective test job.
Estimated savings of ~1 hour 10 minutes (?) total run time.
cache node_modules/ and packages/ as well, not just the .deb of the
built Pulsar app.
Lets us skip (re)installing/(re)building these dependencies in each
individual package job; Just re-use the cached copy from the
"build editor" job. Which would save *a lot* of run-time in CI.