Background
In the latest release of ACCESS-ESM1.6, during a manual upload to the release database, the oasis3-mct component uses the @OASIS3-MCT_5.2 version, which points to a tag on GitLab.
Currently the release database upload script doesn't accept non-GitHub component URLs, so we need to decide:
- Should we accept components not hosted on GitHub?
- If so, should we hyperlink to non-GitHub hosts?
- If so, should we use authenticated API requests so we don't hit the rate limit?
- If so, how do we get the appropriate token? We don't have much of a prescence on GitLab.
Implementation Details
- GitLab also has a REST API, see https://docs.gitlab.com/api/rest/
- Requests require either a project ID or URL-encoded project string. Project strings are kind of like the
OWNER/REPO string on GitHub.
- For example,
curl https://gitlab.com/api/v4/projects/cerfacs%2Foasis3-mct/repository/tags/OASIS3-MCT_5.2 or curl https://gitlab.com/api/v4/projects/11283050/repository/tags/OASIS3-MCT_5.2
- Would need to add another
secrets.TRACKING_SERVICES_FETCH_REPO_TOKEN for both GitHub and GitLab, to all MDRs where that was relevant. It can be an optional addition (defaults to unauthenticated for GitLab URLs) so we don't have to do another major version of build-cd.
Background
In the latest release of
ACCESS-ESM1.6, during a manual upload to the release database, theoasis3-mctcomponent uses the@OASIS3-MCT_5.2version, which points to a tag on GitLab.Currently the release database upload script doesn't accept non-GitHub component URLs, so we need to decide:
Implementation Details
OWNER/REPOstring on GitHub.curl https://gitlab.com/api/v4/projects/cerfacs%2Foasis3-mct/repository/tags/OASIS3-MCT_5.2orcurl https://gitlab.com/api/v4/projects/11283050/repository/tags/OASIS3-MCT_5.2secrets.TRACKING_SERVICES_FETCH_REPO_TOKENfor both GitHub and GitLab, to all MDRs where that was relevant. It can be an optional addition (defaults to unauthenticated for GitLab URLs) so we don't have to do another major version ofbuild-cd.