Skip to content

Commit

Permalink
Use GitHub's Changelog Generation (#735)
Browse files Browse the repository at this point in the history
Remove `ferrarimarco/github-changelog-generator` as that was extremely
flaky, and required some maintenance of secrets, and replace it with
GitHubs
automation.

Updated the release checklist as well to match.

Snuck in a small typo on the release README.md as well.

Work on #725
  • Loading branch information
markmandel authored Apr 13, 2023
1 parent 4e5d0d4 commit 87e132b
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 22 deletions.
37 changes: 37 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

changelog:
exclude:
labels:
- duplicate
- question
- invalid
- priority/wontfix
categories:
- title: Breaking changes
labels:
- kind/breaking
- title: Implemented enhancements
labels:
- kind/feature
- title: Fixed bugs
labels:
- kind/bug
- title: Security fixes
labels:
- area/security
- title: Other
labels:
- "*"
4 changes: 2 additions & 2 deletions build/release/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
Run `make` to submit the `cloudbuild.yaml` to [Google Cloud Build](https://cloud.google.com/build) and build the
release:

* arm64 Linux, Windows and macOS executables.
* arm64 Linux Docker image.
* amd64 Linux, Windows and macOS executables.
* amd64 Linux Docker image.

If you need to pass extra arguments to the `make` target, the target comes with an `$(ARGS)` parameter than can be
used.
Expand Down
15 changes: 0 additions & 15 deletions build/release/cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,12 @@ steps:
- 'make version > ../version'
id: output-version
waitFor: ['-']
- name: ferrarimarco/github-changelog-generator:1.15.2
id: changelog
entrypoint: sh
args:
- '-c'
- 'github_changelog_generator --user=googleforgames --project=quilkin --bug-labels=kind/bug --enhancement-labels=kind/feature --breaking-labels=kind/breaking --security-labels=area/security --exclude-labels=duplicate,question,invalid,wontfix,priority/wontfix --future-release "v$(cat ./version)" --release-branch=main --token $$GH_TOKEN'
secretEnv:
- GH_TOKEN
waitFor:
- output-version
artifacts:
objects:
location: '$_STORAGE'
paths:
- '*.zip'
- 'license.html'
- 'CHANGELOG.md'
images:
- ${_REPOSITORY}quilkin
options:
Expand All @@ -71,8 +60,4 @@ substitutions:
_BUILD_IMAGE_TAG: us-docker.pkg.dev/${PROJECT_ID}/ci/build-image
_REPOSITORY: us-docker.pkg.dev/${PROJECT_ID}/release/
_STORAGE: gs://${PROJECT_ID}-quilkin-releases
availableSecrets:
secretManager:
- versionName: projects/${PROJECT_ID}/secrets/release-github-token/versions/latest
env: GH_TOKEN
timeout: 1800s
13 changes: 8 additions & 5 deletions build/templates/release-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
- [ ] Edit the `version` field in `./macros/Cargo.toml` and remove the `-dev` suffix.
- [ ] cd to `./build/release` and run `make` to submit the cloud build
- [ ] Download all the artifacts from the cloud build.
- [ ] Move the CHANGELOG.md to the root of this repository, replacing any previous versions.
- [ ] Review `license.html` to ensure that there aren't any new MPL, or CDDL dependencies from the last
release. If there are:
- [ ] Add the dependencies to [archive_dependencies.sh](https://github.com/googleforgames/quilkin/blob/main/build/release/archive_dependencies.sh)
Expand All @@ -29,11 +28,15 @@
- [ ] Add a release item to README.md "Documentation" > "Releases" list with related links in reverse chronological
order.
- [ ] Remove any `data-proofer-ignore` attributes from links in the documentation in `./docs`.
- [ ] Create a draft [Github release](https://github.com/googleforgames/quilkin/releases/new)
- [ ] Populate the tag with `v{version}`
- [ ] Click `Generate release notes` to generate the change log for this release.
- [ ] Copy the release notes from the draft release and paste it at the top of CHANGELOG.md.
- [ ] Using the
[Github release template](https://github.com/googleforgames/quilkin/blob/main/build/templates/github-release.md)
update the generated release notes with a description, and relevant changelog sections.
- [ ] Attach all the cloud build artifacts to the draft GitHub release.
- [ ] Submit these changes as a PR, and merge with approval.
- [ ] Create a [Github release](https://github.com/googleforgames/quilkin/releases/new) using the
[Github release template](https://github.com/googleforgames/quilkin/blob/main/build/templates/github-release.md).
- [ ] Populate the tag with `v{version}`, description, and relevant changelog sections.
- [ ] Attach all the remaining cloud build artifacts to the release.
- [ ] Run `git remote update && git checkout main && git reset --hard upstream/main` to ensure your code is in line
with upstream.
- [ ] Run `git checkout -b release-{version} && git push upstream release-{version}` to create a release branch.
Expand Down

0 comments on commit 87e132b

Please sign in to comment.