Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/source/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,12 @@ Documentation recommended practices:
- Break up text with headers, lists, and code blocks
- Target both beginners and advanced users

##
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Replace the empty ## heading.

Line 80 contains a heading marker with no title, which renders as a blank section header in Sphinx/Markdown. Drop it or give it a meaningful label (e.g., ## Reference) before the toctree.

🤖 Prompt for AI Agents
In docs/source/contributing.md around line 80 there is an empty heading marker
("##") that renders a blank section header; replace that line with a meaningful
heading (for example "## Reference") or remove the marker entirely before the
toctree so the documentation renders correctly and the table of contents is not
disrupted.

```{toctree}
:maxdepth: 1
:hidden:

contributing/development-environment.md
contributing/internals.md
contributing/maintainers.md
```
104 changes: 104 additions & 0 deletions docs/source/contributing/maintainers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Maintainers Guide

## Releasing

To release a new version of Jumpstarter, you need to follow these steps:

### set the version you want to release
```console
export VERSION_PYTHON=0.7.0
export VERSION_GO=0.7.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what do these mean?

export RELEASE_BRANCH=release-0.7
```

If you wish to create a pre-release you can add the desired suffixes, but please note that go
and python use sighlty different naming conventions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typo in documentation.

Line 15 reads “sighlty”; please correct it to “slightly” so the instructions stay professional.

🤖 Prompt for AI Agents
In docs/source/contributing/maintainers.md around line 15, fix the typo
"sighlty" by replacing it with the correct spelling "slightly" so the sentence
reads "...and python use slightly different naming conventions.".


For example:
```console
export VERSION_PYTHON=0.7.0rc1
export PYTHON_NEXT=0.8.0-dev
export VERSION_GO=0.7.0-rc1
export RELEASE_BRANCH=release-0.7
# the next version of python used as anchor for main branch versions with pip index
export PYTHON_NEXT=0.8.0-dev
```

### checkout and release the jumpstarter-e2e repository

```console
git clone https://github.com/jumpstarter-dev/jumpstarter-e2e.git
cd jumpstarter-e2e
```

For this one we don't tag versions, we just create a new branch.

```console
git fetch --all --tags # in case you already have the repository cloned
git checkout remotes/origin/main -B "${RELEASE_BRANCH}"
git push origin "${RELEASE_BRANCH}"
git checkout remotes/origin/main -B main
git tag -a "v${PYTHON_NEXT}" -m "Development base v${PYTHON_NEXT}"
git push origin "v${PYTHON_NEXT}"
```

### checkout and release the controller repository first

```console
git clone https://github.com/jumpstarter-dev/jumpstarter-controller.git
cd jumpstarter-controller
```

If it's the first time you are creating a tag for a minor version, you need to create a new branch first.
```console
git fetch --all --tags # in case you already have the repository cloned
git checkout remotes/origin/main -B "${RELEASE_BRANCH}"
git push origin "${RELEASE_BRANCH}"
```

Now just tag the branch
```console
git fetch --all --tags # in case you already have the repository cloned
git checkout remotes/origin/${RELEASE_BRANCH} -B ${RELEASE_BRANCH}
git tag -a "v${VERSION_GO}" -m "Release v${VERSION_GO}"
git push origin "v${VERSION_GO}"
```
### checkout and release the jumpstarter python packages repository

```console
git clone https://github.com/jumpstarter-dev/jumpstarter.git
cd jumpstarter
```

If it's the first time you are creating a tag for a minor version, you need to create a new branch first.
```console
git fetch --all --tags
git checkout remotes/origin/main -B "${RELEASE_BRANCH}"
git push origin "${RELEASE_BRANCH}"
```

Now just tag the branch
```console
git fetch --all --tags
git checkout remotes/origin/${RELEASE_BRANCH} -B ${RELEASE_BRANCH}
git tag -a "v${VERSION_PYTHON}" -m "Release v${VERSION_PYTHON}"
git push origin v${VERSION_PYTHON}
```

# Create release notes

* https://github.com/jumpstarter-dev/jumpstarter/releases/new
* https://github.com/jumpstarter-dev/jumpstarter-controller/releases/new

# Triggering a new package index build here

Using the Run Workflow from main:
https://github.com/jumpstarter-dev/packages/actions/workflows/publish-index.yml

# Publish to pypi
```console
export UV_PUBLISH_TOKEN=pypi-.....
git checkout v0.7.0
rm -rf dist
make build
uv publish