Skip to content

Commit

Permalink
Add Makefile target for tagging a release
Browse files Browse the repository at this point in the history
Signed-off-by: Yuri Shkuro <[email protected]>
  • Loading branch information
yurishkuro committed Apr 3, 2024
1 parent 2095173 commit f15ab41
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
18 changes: 18 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,21 @@ check-internal-links: clean build link-checker-setup run-link-checker

check-all-links: clean build link-checker-setup
bin/htmltest --conf .htmltest.external.yml

# only x.y.0 semver values are valid for kicking off a new release.
SEMVER_REGEX := ^([0-9]+\.){2}0$$
VALID_VERSION := $(shell echo "$(VERSION)" | grep -E "$(SEMVER_REGEX)")

ifneq "$(VALID_VERSION)" "$(VERSION)"
validate-version:
@echo "ERROR: Invalid VERSION=$(VERSION). Must be in format x.y.0."
@false # Exit with an error code
else
validate-version:
@echo "VERSION=$(VERSION) is valid."
endif

# `make start-release VERSION=x.y.0
start-release: validate-version
git tag release-$(VERSION)
git push upstream release-$(VERSION)
7 changes: 5 additions & 2 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ Before creating a new release:
`git remote add upstream [email protected]:jaegertracing/documentation.git`
- Make sure you are on your `main` branch.

Then create a release by pushing a tag corresponding to the jaegertracing/jaeger version `release-X.Y.Z`, e.g.
Then create a release by pushing a tag corresponding to the jaegertracing/jaeger version `release-X.Y.0`, e.g.

```shell
make start-release VERSION=1.12.0

# or manually

git tag release-1.12.0
git push upstream release-1.12.0
```
Expand All @@ -29,4 +33,3 @@ TODO: shouldn't the tag only specify major/minor, not patch? I don't think the p
### Auto-generated documentation for CLI flags

The docs for the Jaeger CLI tools are generated by the automated release process described above using the Python script [`scripts/gen-cli-data.py`](./scripts/gen-cli-data.py). It uses the configuration file `data/cli/next-release/config.json` (automatically copied to `data/cli/${NEXT_VERSION}/config.json`) that describes which Jaeger binaries to include in the documentation, and which storage options each binary supports. The script invokes the `docs` command on the respective Docker images for each binary and creates a set of YAML files under `data/cli/${NEXT_VERSION}/`, which are then used by the template engine to render the CLI docs.

0 comments on commit f15ab41

Please sign in to comment.