Skip to content

Add notes explaining how to make a release #13

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 3, 2025
Merged
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
26 changes: 26 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Making a new release of git2cpp

This covers making a new github release in the `git2cpp` repository, and propagating that release through to Emscripten-forge so that the new WebAssembly package is available in the Jupyterlite terminal.

## Github release

1. Submit and merge a `git2cpp` PR bumping the version number in `version.hpp`.
2. Fetch the latest changes to your local `git2cpp` repo.
3. Tag the new release using something like `git tag -a 0.0.2 -m "Version 0.0.2"`. Ideally sign the release by adding the `-s` flag.
4. Push the new tag to the github repo using `git push upstream --tags`.
5. Create a github release for the tag. In https://github.com/QuantStack/git2cpp:

- Click on `Releases`.
- Click on `Draft a new release`.
- Select the new tag in the `Choose a tag` dropdown.
- Click on `Generate release notes`. This will fill out the release notes based on the PRs merged since the last release.
- Edit the release notes if desired.
- Click on `Publish release`.

## Update Emscripten-forge recipe

The Emscripten-forge recipe at https://github.com/emscripten-forge/recipes needs to be updated with the new version number and SHA checksum. An Emscripten-forge bot runs once a day and will identify the new github release and create a PR to update the recipe. Wait for this to happen, and if the tests pass and no further changes are required, the PR can be approved and merged.

After the PR is merged to `main`, the recipe will be rebuilt and uploaded to https://prefix.dev/channels/emscripten-forge-dev/packages/git2cpp, which should only take a few minutes.

Any subsequent `cockle` or JupyterLite `terminal` deployments that are rebuilt will download and use the latest `git2cpp` WebAssembly package.