Create nightly builds #363
Labels
effort/weeks
Estimated to take multiple weeks
kind/maintenance
Work required to avoid breaking changes or harm to project's status quo
P1
High: Likely tackled by core team if no one steps up
Milestone
Motivation
We want to have a setup that constantly proves our release pipeline works as expected. Producing a nightly builds for all dist packages is the best way for identifying issues early and minimizing risk of delays of Stable and RC releases.
This is the main reason for doing this.
Providing nightly builds to the community is a nice side effect, but not something we will explicitly support or advertise anywhere.
Architecture
nightly.dist.ipfs.io
will provide N days of nightly builds, but keeping it limited to github actions is enough for MVPTODO
Rough plan
./dist.sh add-version <dist> <version>
with suport for a special "nightly
" versionnightly
should build the latest revision from the default branch (don't assume it ismaster
)nightly-2021-07-16-9599ad5
instead of regular versions likev0.9.0
(build date and first 7 characters of git revision used as the source)use/ipns/nightly.dist.ipfs.io
or/ipns/dist.ipfs.io
as the base root (update: we want nightly test that adds patch on top of existing website, so original/ipns/dist.ipfs.io
has to be used)set up DNS infra fornightly.dist.ipfs.io
, addDNSIMPLE_TOKEN
toipfs/distributions
repo to enable update via CI (prior art)nightly
every day..github/workflows/nightly.yml
make publish
pipeline just likemain.yml
, but find a way to build nightly for every package defined in./dists
directoryecho "nightly_2021-07-16" >> dists/go-ipfs/versions
and then make publish producing nightly binaries in./releases
make all_dists
(build all binaries) for each nightly in separate, parallel job, and then merge./dists
and./releases
before running make publish in final step (generating website and putting everything on IPFS as a patch on top ofDIST_ROOT
)DIST_ROOT=/ipfs/Qm..
for starting with an empty or customised root for nightlies without waiting for dnslink atnightly.dist.ipfs.io
The text was updated successfully, but these errors were encountered: