122 Commits

Author SHA1 Message Date
Mike McQuaid
4f57adf42f
github_packages: fix org.opencontainers.image.created. 2021-04-01 17:37:16 +01:00
Mike McQuaid
a50ec38d31
github_packages: add helper class methods. 2021-04-01 17:37:16 +01:00
Mike McQuaid
8f78b93351
Merge pull request #10978 from MikeMcQuaid/github_packages_media_type
github_packages: update mediaType.
2021-04-01 15:06:50 +01:00
Shaun Jackman
9f9c5df047
github_packages: Translate tab.arch to OCI
Translate Homebrew tab.arch to OCI platform.architecture.
2021-03-31 12:41:24 -07:00
Mike McQuaid
39a488ca07
github_packages: update mediaType.
This custom type will allow better display in GitHub Packages.
2021-03-31 20:38:53 +01:00
Shaun Jackman
4954505920
github_packages: Translate built_on to platform OS 2021-03-31 09:43:37 +01:00
Mike McQuaid
5818b7871d
github_packages: Fix org.opencontainers.image.source 2021-03-31 09:43:37 +01:00
Shaun Jackman
fe5e8b820a
github_packages: change tap_git_head to tap_git_revision, add fallback. 2021-03-31 09:43:37 +01:00
Shaun Jackman
bb7a3ce7e5
github_packages: write_index_json: add image.ref.name 2021-03-31 09:43:37 +01:00
Mike McQuaid
d8a2cf9efc
Write tabs to bottle JSON, optionally not bottle
- Write a subset of the tab required for bottles as an annotation.
- Add option on new bottle creation to skip writing tab into bottle
  and instead add it (and other useful metadata) to bottle JSON.
- Read formula information and tab from bottle JSON.
- Write prettier JSON to disk.
- Don't write `HEAD` to tab; this duplicates `HOMEBREW_VERSION`.
- Allow `brew bottle` to use `--json` to generate JSON files from a
  local bottle file.
2021-03-31 09:43:37 +01:00
Mike McQuaid
d36e99c17c
GitHub Packages tweaks
- cleanup comments from #10938
- fix download URL
- remove incorrect comment
2021-03-30 08:42:15 +01:00
Shaun Jackman
c193cb9848
github_packages: Add annotations to image index
When `brew pr-upload` is run with `--dry-run`, write the OCI directory,
but do not upload it.
2021-03-29 17:11:38 +01:00
Shaun Jackman
a631377fd2
pr-upload: Fix GitHub Packages for Linux
Fix GitHub Packages for Linux and third-party taps.

- Copy all architecture images using `skopeo copy --all`
2021-03-29 17:11:21 +01:00
Mike McQuaid
7f1ac4cdae
github_packages: tweak package name and output URL 2021-03-29 15:10:43 +01:00
Mike McQuaid
725f2828b4
github_packages: add mediaType comment. 2021-03-29 14:48:59 +01:00
Mike McQuaid
490ffb70de
github_packages: import fixes from #10947 2021-03-29 14:48:58 +01:00
Mike McQuaid
5f31ebd8d4
github_packages: use json_schemer gem.
Instead of the deprecated json-schema.
2021-03-29 14:48:58 +01:00
Mike McQuaid
169a1bae13
github_packages: various improvements.
- validate all JSON files against their JSON schemas
- remove existing/lingering JSON files
- improve naming based on schema understanding
- add more (empty) annotations hashes where valid
- output prettier JSON
- fix non-SHA256 output filenames
2021-03-25 10:29:26 +00:00
Mike McQuaid
74f31af8d4
github_packages: use skopeo.
`skopeo` allows replacing `docker` and `oras` with a single tool that
behaves in a way that's a little more intuitive for us (we build the
directory structure on disk and upload that). It seems to be better at
preserving our metadata, too.

Take the opportunity for writing out more metadata ourselves to split
out more logic into separate functions.

While we're here, fix the `download_strategy` timeout handling for
GitHub Packages.
2021-03-19 21:09:18 +00:00
Mike McQuaid
0f87bf38d7
github_packages: improve metadata.
- add more metadata to the images on upload
- stitch together images using Docker's CLI
- more code cleanup
2021-03-18 12:58:15 +00:00
Mike McQuaid
7fc52d2065
github_packages: fix HOMEBREW_BOTTLE_DOMAIN usage.
This still worked but ended up always having a `/bottles-*/` part of the
URL that was unnecessary when using `HOMEBREW_BOTTLE_DOMAIN`.
2021-03-16 15:17:42 +00:00
Mike McQuaid
8e646f6202
pr-upload: support uploading to GitHub Packages.
Use `oras` to create a package tagged with the current version.
2021-03-12 14:09:25 +00:00