We use meta to manage OpenSearch and OpenSearch Dashboards components as a set.
Install and configure GitHub CLI from cli.github.com/manual/installation. Authenticate with gh auth login
and ensure that it works, e.g. gh issue list
.
npm install -g meta
meta git update
Use meta git pull
to subsequently pull the latest revisions.
meta gh issue list
meta project import new-component [email protected]:opensearch-project/new-component.git
Install ghi, e.g. brew install ghi
.
meta exec "ghi label 'v1.2.0' -c '#b94c47'"
Alternate option if you are having issues with ghi
:
meta exec "gh label create v2.2.0 -c '#537DB0'"
When creating a version label for the ongoing release, always create the next version's label as well.
We create release issues in all component repos that link back to a parent release issue in this repository.
- Locate the parent release issue, e.g. opensearch-build#567 for version 1.2.
- Clone the release template into a new
release-X.Y.Z.md
, e.g. release-1.2.0.md. Update allREPLACE
tags with actual versions and dates and commit and PR the file. - From components, run
meta exec "gh issue create --label v1.2.0 --title 'Release version 1.2' --body-file ../../templates/releases/release-1.2.0.md"
.
Check whether a tag for version 1.1.0
exists.
meta exec "git ls-remote | grep -E 'refs/tags/1.1.0$'"
The command will fail and show in red for every repository without a tag.
Check whether a version or a release exists.
meta exec "gh release list | grep -E '(1.1.0.*)$'"