Skip to content

Conversation

@bgilbert
Copy link
Collaborator

Meson fetches releases.json directly from the repo, via a redirect from wrapdb.mesonbuild.com. When a PR lands, releases.json is updated immediately but the GitHub release (with the wrap file, source mirror, and patch zip) is updated after a delay, which can be lengthy if CI is heavily loaded or down. During this time, meson wrap install and meson wrap update fail on the newly-updated wraps.

Maintain a second copy of releases.json that lags the one in Git, updating it only after all the releases it describes have been published. Publish it via GitHub Pages: have create_release.py generate a static site, then publish that in the release workflow. Because of how GitHub Pages works with custom domains, the new file will be available from https://mesonbuild.com/wrapdb/releases.json. Update the wrapdb.mesonbuild.com nginx config to redirect there instead.

While we're here, minify the published releases.json.

cc @tp-m

@bgilbert
Copy link
Collaborator Author

This requires one repo setting to be changed: the Pages deployment source must be GitHub Actions.

image

Making this change should automatically create a github-pages environment that only allows deployment from master, which is what we want.

Meson fetches releases.json directly from the repo, via a redirect from
wrapdb.mesonbuild.com.  When a PR lands, releases.json is updated
immediately but the GitHub release (with the wrap file, source mirror, and
patch zip) is updated after a delay, which can be lengthy if CI is heavily
loaded or down.  During this time, `meson wrap install` and
`meson wrap update` fail on the newly-updated wraps.

Maintain a second copy of releases.json that lags the one in Git, updating
it only after all the releases it describes have been published.  Publish
it via GitHub Pages: have create_release.py generate a static site, then
publish that in the release workflow.  Because of how GitHub Pages works
with custom domains, the new file will be available from
https://mesonbuild.com/wrapdb/releases.json.  Update the
wrapdb.mesonbuild.com nginx config to redirect there instead.

While we're here, minify the published releases.json.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant