Skip to content

Document details on releasing new versions off *-stable branches#8825

Closed
parkr wants to merge 2 commits intomasterfrom
parkr-patch-1
Closed

Document details on releasing new versions off *-stable branches#8825
parkr wants to merge 2 commits intomasterfrom
parkr-patch-1

Conversation

@parkr
Copy link
Copy Markdown
Member

@parkr parkr commented Sep 27, 2021

This is a 🔦 documentation change.

Summary

The *-stable branches are maintained slightly differently than the master branch. This attempts to explain some of the differences.

Context

@ashmaroli asked me to update this page given that I'm going to be maintaining the 3.9-stable branch.

The `*-stable` branches are maintained slightly differently than the `master` branch. This attempts to explain some of the differences.
@parkr parkr requested a review from a team September 27, 2021 15:49
@github-actions
Copy link
Copy Markdown

github-actions bot commented Sep 27, 2021

@check-spelling-bot Report

Unrecognized words, please review:

  • signin
Previously acknowledged words that are now absent eol
To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands

... in a clone of the git@github.com:jekyll/jekyll.git repository
on the parkr-patch-1 branch:

update_files() {
perl -e '
my @expect_files=qw('".github/actions/spelling/expect.txt"');
@ARGV=@expect_files;
my @stale=qw('"$patch_remove"');
my $re=join "|", @stale;
my $suffix=".".time();
my $previous="";
sub maybe_unlink { unlink($_[0]) if $_[0]; }
while (<>) {
if ($ARGV ne $old_argv) { maybe_unlink($previous); $previous="$ARGV$suffix"; rename($ARGV, $previous); open(ARGV_OUT, ">$ARGV"); select(ARGV_OUT); $old_argv = $ARGV; }
next if /^(?:$re)(?:(?:\r|\n)*$| .*)/; print;
}; maybe_unlink($previous);'
perl -e '
my $new_expect_file=".github/actions/spelling/expect.txt";
use File::Path qw(make_path);
use File::Basename qw(dirname);
make_path (dirname($new_expect_file));
open FILE, q{<}, $new_expect_file; chomp(my @words = <FILE>); close FILE;
my @add=qw('"$patch_add"');
my %items; @items{@words} = @words x (1); @items{@add} = @add x (1);
@words = sort {lc($a)."-".$a cmp lc($b)."-".$b} keys %items;
open FILE, q{>}, $new_expect_file; for my $word (@words) { print FILE "$word\n" if $word =~ /\w/; };
close FILE;
system("git", "add", $new_expect_file);
'
}

comment_json=$(mktemp)
curl -L -s -S \
  --header "Content-Type: application/json" \
  "https://api.github.com/repos/jekyll/jekyll/issues/comments/928003511" > "$comment_json"
comment_body=$(mktemp)
jq -r .body < "$comment_json" > $comment_body
rm $comment_json

patch_remove=$(perl -ne 'next unless s{^</summary>(.*)</details>$}{$1}; print' < "$comment_body")
  

patch_add=$(perl -e '$/=undef;
$_=<>;
s{<details>.*}{}s;
s{^#.*}{};
s{\n##.*}{};
s{(?:^|\n)\s*\*}{}g;
s{\s+}{ }g;
print' < "$comment_body")
  
update_files
rm $comment_body
git add -u
If you see a bunch of garbage

If it relates to a ...

well-formed pattern

See if there's a pattern that would match it.

If not, try writing one and adding it to the patterns.txt file.

Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

Note that patterns can't match multiline strings.

binary-ish string

Please add a file path to the excludes.txt file instead of just accepting the garbage.

File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

It's recommended that you go over the `History.markdown` file manually one more time, in case there are any spelling errors or such. Feel free to fix those manually, and after you're done generating the website changelog, commit your changes.

## Write a release post
## Write a release post (`master` branch)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes the anchor for this heading. How about using {: #write-a-release-post}?


## Branches: `master` vs `*-stable`

We maintain several branches for major/minor releases that have since passed. For example, we maintain the `3.9-stable` branch for the `3.9.x` series since this is still used by GitHub Pages. This allows us to more easily make patches for bugs and security vulnerabilities. Maintaining a `*-stable` version is very similar to `master`, except that the jekyllrb.com blog post must (also) land on the `master` branch in order to be published.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The flow of this line an update:

Suggested change
We maintain several branches for major/minor releases that have since passed. For example, we maintain the `3.9-stable` branch for the `3.9.x` series since this is still used by GitHub Pages. This allows us to more easily make patches for bugs and security vulnerabilities. Maintaining a `*-stable` version is very similar to `master`, except that the jekyllrb.com blog post must (also) land on the `master` branch in order to be published.
We maintain several branches for major/minor releases that have since passed. For example, we maintain the `3.9-stable` branch for the `3.9.x` series since this is still used by GitHub Pages. This allows us to make patches for bugs and security vulnerabilities more easily. Maintaining a `*-stable` version is very similar to `master`, except that the blog post must land on the `master` branch in order to be published at jekyllrb.com.

@ashmaroli
Copy link
Copy Markdown
Member

I'm ok with the proposed additions except that we have never created release post off stable branch and merged it twice..

@ashmaroli ashmaroli changed the title releasing-a-new-version: include some details for the *-stable branches Document details on releasing new versions off *-stable branches Sep 27, 2021
@jekyllbot jekyllbot added the has-pull-request Somebody suggested a solution to fix this issue label Mar 3, 2022
@jekyll jekyll locked and limited conversation to collaborators Mar 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

frozen-due-to-age has-pull-request Somebody suggested a solution to fix this issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants