Add more instructions to RELEASING_RAILS
This commit is contained in:
parent
c4416b562a
commit
500d6319ff
|
@ -46,6 +46,10 @@ branch.
|
|||
|
||||
## Day of release
|
||||
|
||||
If making multiple releases. Publish them in order from oldest to newest, to
|
||||
ensure that the "greatest" version also shows up in NPM and GitHub Releases as
|
||||
"latest".
|
||||
|
||||
### Put the new version in the RAILS_VERSION file.
|
||||
|
||||
Include an RC number if appropriate, e.g. `6.0.0.rc1`.
|
||||
|
@ -59,6 +63,21 @@ browser.
|
|||
This will stop you from looking silly when you push an RC to rubygems.org and
|
||||
then realize it is broken.
|
||||
|
||||
### Check credentials for RubyGems, npm, and GitHub
|
||||
|
||||
For npm run `npm whoami` to check that you are logged in (`npm login` if not).
|
||||
|
||||
For RubyGems run `gem login`. If there's no output you are logged in.
|
||||
|
||||
For GitHub run `gh auth status` to check that you are logged in (run `gh login` if not).
|
||||
|
||||
npm and RubyGems require MFA. The release task will attempt to use a yubikey if
|
||||
available, which as we have release several packages at once is strongly
|
||||
recommended. Check that `ykman oath accounts list` has an entry for both
|
||||
`npmjs.com` and `rubygems.org`, if not refer to
|
||||
https://tenderlovemaking.com/2021/10/26/publishing-gems-with-your-yubikey.html
|
||||
for setup instructions.
|
||||
|
||||
### Release to RubyGems and npm.
|
||||
|
||||
IMPORTANT: Several gems have JavaScript components that are released as npm
|
||||
|
@ -79,6 +98,17 @@ Run `rake release`. This will populate the gemspecs and npm package.json with
|
|||
the current RAILS_VERSION, commit the changes, tag it, and push the gems to
|
||||
rubygems.org.
|
||||
|
||||
### Make GitHub Releases from pushed tags
|
||||
|
||||
We use GitHub Releases to publish the combined release summary for all gems. We
|
||||
can use a rake task and [GitHub cli](https://cli.github.com/) to do this
|
||||
(releases can also be created or edited on the web).
|
||||
|
||||
```
|
||||
bundle exec rake changelog:release_summary > ../6-1-7-release-summary.md
|
||||
gh release create v6.1.7 -R rails/rails -F ../6-1-7-release-summary.md
|
||||
```
|
||||
|
||||
### Send Rails release announcements
|
||||
|
||||
Write a release announcement that includes the version, changes, and links to
|
||||
|
@ -105,10 +135,29 @@ break existing applications.
|
|||
|
||||
### Post the announcement to the Rails blog.
|
||||
|
||||
If you used Markdown format for your email, you can just paste it into the
|
||||
blog.
|
||||
The blog at https://rubyonrails.org/blog is built from
|
||||
https://github.com/rails/website.
|
||||
|
||||
* https://rubyonrails.org/blog
|
||||
Create a file named like
|
||||
`_posts/$(date +'%F')-Rails-<versions>-have-been-released.markdown`
|
||||
|
||||
Add YAML frontmatter
|
||||
```
|
||||
---
|
||||
layout: post
|
||||
title: 'Rails <VERSIONS> have been released!'
|
||||
categories: releases
|
||||
author: <your handle>
|
||||
published: true
|
||||
date: <YYYY-MM-DD or `date +%F`>
|
||||
---
|
||||
```
|
||||
|
||||
Use the markdown generated by `rake announce` earlier as a base for the post.
|
||||
Add some context for users as to the purpose of this release (bugfix/security).
|
||||
|
||||
If this is a part of the latest release series, update `_data/version.yml` so
|
||||
that the homepage points to the latest version.
|
||||
|
||||
### Post the announcement to the Rails Twitter account.
|
||||
|
||||
|
|
Loading…
Reference in New Issue