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

Release 0.1.0 #325

Closed
33 tasks done
markmandel opened this issue Jul 8, 2021 · 4 comments
Closed
33 tasks done

Release 0.1.0 #325

markmandel opened this issue Jul 8, 2021 · 4 comments
Assignees
Labels
kind/release Checklist for a release
Milestone

Comments

@markmandel
Copy link
Contributor

markmandel commented Jul 8, 2021

Prerequisites

  • Have at least Editor level access to quilkin Google Cloud project.
  • Local git remote upstream points at git@github.com:googleforgames/quilkin.git.

Steps

  • Review that closed issues have appropriate tags for the changelog.
  • Review that merged PRs have appropriate tags for the changelog.
  • Run git remote update && git checkout main && git reset --hard upstream/main to ensure your code is in line
    with upstream.
  • Update Cargo version for release
    • Edit the version field in ./Cargo.toml and remove the -dev suffix.
    • Edit the quilkin-macros dependency in ./Cargo.toml and remove the -dev suffix.
    • 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, GPL, LGPL, or CDDL dependencies from the last
    release. If there are:
    • Add the dependencies to
      archive_dependencies.sh
      so that the source is archived in the container image.
    • Reset checklist back to "run make to submit the cloud build", and start from there again.
  • Run cd macros && cargo publish --dry-run and ensure there are no issues.
  • Run cargo publish --dry-run and ensure there are no issues.
  • Submit these changes as a PR, and merge with approval.
  • Create a Github release using the
    Github release template.
    • Populate the tag with v0.1.0, 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-0.1.0 && git push upstream to create a release branch.
  • Publish to crates.io/crates/quilkin-macros: run cd macros && cargo publish
  • Publish to crates.io/crates/quilkin: run cargo publish
  • Submit the release.
  • Post an announcement to the mailing list.
  • Post to the Twitter account.
  • Update Cargo version for development
    • Edit Cargo.toml and increment the minor version and apply the -dev suffix to the
      version.
    • Edit the quilkin-macros dependency in ./Cargo.toml and increment the minor version
      and apply the -dev suffix to the version.
    • Edit the version field in ./macros/Cargo.tomland increment the minor version
      and apply the -dev suffix to the version.
  • Submit this change as a PR, and merge with approval.

Congratulation! 🎉 You have successfully released Quilkin!

@markmandel markmandel added the kind/release Checklist for a release label Jul 8, 2021
@markmandel markmandel added this to the Release milestone Jul 8, 2021
@markmandel markmandel self-assigned this Jul 8, 2021
@markmandel
Copy link
Contributor Author

Now that we have a released version on the Quilkin Artifact registry, also confirmed that our Xonotic examples are working as expected as well. (Just triple checking the image is public!)

@markmandel
Copy link
Contributor Author

Note: cargo publish --dry-run in the main workspace did fail, because it can't find quilkin-macros:

cargo publish --dry-run --allow-dirty --verbose
    Updating crates.io index
   Packaging quilkin v0.1.0 (/home/markmandel/workspace/quilkin)
   Archiving .dockerignore
   Archiving .gcloudignore
   Archiving .gitignore
   Archiving .gitmodules
   Archiving CHANGELOG.md
   Archiving CONTRIBUTING.md
   Archiving Cargo.lock
error: failed to prepare local package for uploading

Caused by:
  no matching package named `quilkin-macros` found
  location searched: registry `https://github.com/rust-lang/crates.io-index`
  required by package `quilkin v0.1.0 (/home/markmandel/workspace/quilkin)`

I think it's overall fine, something we might want to work on the future although (a) quilkin-macros is likely to go away long term. and (b) once we've got this done once, or have a version of this live, this will be easier to test, so I'm going to move past it, and if we run into problems at publish time, we can handle it then.

markmandel added a commit that referenced this issue Jul 8, 2021
* Added the CHANGELOG.md
* Update version numbers to the release versions
* Tweaks to the release checklist
* Added a README to quilkin-macros, otherwise `cargo publish --dry-run`
errored.

Work on #325
markmandel added a commit that referenced this issue Jul 9, 2021
* Added the CHANGELOG.md
* Update version numbers to the release versions
* Tweaks to the release checklist
* Added a README to quilkin-macros, otherwise `cargo publish --dry-run`
errored.

Work on #325
markmandel added a commit that referenced this issue Jul 9, 2021
* Update version numbers
* Small formatting tweak to the release markdown template.

Work on #325
@markmandel
Copy link
Contributor Author

Everything that can be done at this time has been done! Waiting on the 14th to publish crates, and then the 15th to do the announcements. (See #313 for details).

The only risk I see is if there's an issue pushing to cargo, but worst case scenario, I make a fix on Thursday to the release branch, and get up early Friday Pacific to publish before the announcement goes out (and manually fixup any tagging issues / backport any fixes back into main as well).

XAMPPRocky pushed a commit that referenced this issue Jul 12, 2021
* Update version numbers
* Small formatting tweak to the release markdown template.

Work on #325
@markmandel
Copy link
Contributor Author

Closing, as we have completed all the steps!

XAMPPRocky pushed a commit that referenced this issue Jul 21, 2021
* Added the CHANGELOG.md
* Update version numbers to the release versions
* Tweaks to the release checklist
* Added a README to quilkin-macros, otherwise `cargo publish --dry-run`
errored.

Work on #325
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/release Checklist for a release
Projects
None yet
Development

No branches or pull requests

1 participant