Skip to content
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

Update Releasing section in contributing #1577

Merged
merged 5 commits into from
Sep 20, 2024
Merged
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
51 changes: 12 additions & 39 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,44 +203,17 @@ To cut a release, push a new tag (versioning discussed below).
doing (bugfix, feature or breaking).
`doctl` follows [semantic versioning](https://semver.org), ask if you aren't sure.

1. Tag the release using `BUMP=(bugfix|feature|breaking) make tag`.
(Bugfix, feature and breaking are aliases for semver's patch, minor and major.
BUMP will also accept `patch`, `minor` and `major`, if you prefer). The command
assumes you have a remote repository named `origin` pointing to this
repository. If you'd prefer to specify a different remote repository, you can
do so by setting `ORIGIN=(preferred remote name)`.

The new tag triggers the release.

### Snap
loosla marked this conversation as resolved.
Show resolved Hide resolved

Snap packages are automatically built and uploaded as part of the GitHub Actions
release workflow.

To build a snap package locally for testing, first install `snapcraft`.

On Ubuntu, run:

sudo snap install snapcraft --classic

Or on MacOS, run:

brew install snapcraft

Finally, build the package by running:

make snap

More details about the snap package can be found in the `snap/snapcraft.yaml` file.

### Updating Homebrew
1. Synchronize your local repository with all the tags that have been created or updated on the remote main branch
```bash
git checkout main
git pull --tags
```

Using the url and sha from the github release, update the
[homebrew formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/doctl.rb).
You can use `brew bump-formula-pr doctl`, or
1. Creates a new tag and push the tag to the remote repository named origin
```bash
git tag <new-tag> # Example: git tag v1.113.0
git push origin tag <new-tag> # Example: git push origin tag v1.113.0
```

1. fork `homebrew-core`
1. create a branch named `doctl-<version>`
1. update the url and the sha256 using the values for the archive in the github release
1. commit your changes
1. submit a PR to homebrew
To learn a bit more about how that all works, check out [goreleaser](https://goreleaser.com/intro)
and the config we use for it: [.goreleaser.yml](https://github.com/digitalocean/doctl/blob/main/.goreleaser.yml)
20 changes: 20 additions & 0 deletions snap/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Snap

Snap packages are automatically built and uploaded as part of the GitHub Actions
release workflow.

To build a snap package locally for testing, first install `snapcraft`.

On Ubuntu, run:

sudo snap install snapcraft --classic

Or on MacOS, run:

brew install snapcraft

Finally, build the package by running:

make snap

More details about the snap package can be found in the `snap/snapcraft.yaml` file.
Loading