In order to publish a release, simpy manually create a release via the Github UI from the groq_release branch. You should pick an appropriate semver tag for the release based on the upstream goharbor/harbor release, with a simple monotonically increasing -groqN suffix. For example, if the groq_release branch has been rebased on the upstream v2.13.1 release tag, and this is the first Groq release, the release tag would be v2.13.1-groq1.
Do not simply sync changes from
main, pick a specific release tag from thegoharbor/harborrepository (e.g.,v2.13.1).
To synchronize changes from upstream, rebase the groq_release branch on an appropriate upstream release tag.
For example, assuming you have the upstream goharbor/harbor remote added and want to rebase onto v2.13.1:
git fetch -a --tags && git rebase -i tags/v2.13.1We saw it important to maintain a separate fork of Harbor to handle a couple of specific concerns:
-
We need to add support for Google GAR and GCP Workload Identity Federation (upstream PR).
-
We're concerned that Harbor does not currenty coalesce concurrent remote requests for the same image reference (upstream PR WIP). As such, we've introduced a
ENABLE_ASYNC_LOCAL_CACHINGsetting, which forces concurrent requests for the same artifact to queue and wait for a single remote registry request. This incurs a slight performance penalty on the initial pull, but is much more bandwidth efficient.