Skip to content

Automating publication of Git Rev News #273

Closed

Description

@chriscool

It is a bit tedious to publish an edition of Git Rev news and some parts of the process could easily be automated as @dscho and perhaps others already suggested. Parts that are not automated could be documented.

Activity

  1. chriscool commented on Nov 21, 2018

    @chriscool
    CollaboratorAuthor

    Here is the process that I used to publish edition 45:

    # If needed make sure we are up-to-date
    
    git checkout master
    git pull origin master
    
    # Publish current draft
    
    git mv rev_news/drafts/edition-45.md _posts/2018-11-21-edition-45.markdown
    
    git commit -m "Publish rn-45 in _posts/"
    
    # Create a draft for next edition
    
    git cherry-pick a8d5060 # Cherry pick commit with the last draft  
    
    git mv rev_news/drafts/edition-45.md rev_news/drafts/edition-46.md
    
    perl -pi -e 's/Edition 45/Edition 46/g' rev_news/drafts/edition-46.md
    
    perl -pi -e 's/45th edition/46th edition/g' rev_news/drafts/edition-46.md
    
    perl -pi -e 's/2018-11-21/2018-12-19/g' rev_news/drafts/edition-46.md
    
    perl -pi -e 's/October 2018/November 2018/g' rev_news/drafts/edition-46.md
    
    git commit --amend -m "Add draft for rn-46" rev_news/drafts/edition-46.md
    
    # Push everything to actually publish
    
    git push origin master
    
    # Manually create an issue in GitHub for the draft of the next edition
    ...
    
    # Manually check that the newly published edition appears on
    # https://git.github.io/
    ...
    
    # Manually announce the newly published edition on the Git mailing list
    ...
    
    
    
  2. chriscool commented on Dec 20, 2018

    @chriscool
    CollaboratorAuthor
  3. dscho commented on Dec 21, 2018

    @dscho
    Member

    There is now https://github.com/chriscool/getreleases/blob/master/publish_edition.sh made from the above.

    Thanks.

    I have a couple of suggestions how to improve it, such as:

    • verifying that it runs in the correct worktree by looking for a known commit,
    • determining the values of cur, next and the likes automatically, even determining the next publication date automatically,
    • making the substitution more robust by using a dedicated template rather than cherry-picking the latest (which you cannot change even if you realize that you could improve it right after pushing), and
    • coalescing the many perl invocations into a single one.
  4. chriscool commented on Dec 21, 2018

    @chriscool
    CollaboratorAuthor

    Thanks for the suggestions!

    Yeah, my plan is to improve it a little every time I will use it to publish a new edition.

  5. chriscool commented on Jan 23, 2019

    @chriscool
    CollaboratorAuthor
  6. chriscool commented on Feb 27, 2019

    @chriscool
    CollaboratorAuthor
  7. chriscool commented on Mar 17, 2019

    @chriscool
    CollaboratorAuthor

    @dscho with the following improvements:

    I think all your suggestions have been implemented and we can close this issue.

  8. chriscool commented on Mar 1, 2026

    @chriscool
    CollaboratorAuthor

    Closed as #826 will take over where this one left.

  9. self-assigned this
    on Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions