Skip to content

Instantly share code, notes, and snippets.

@eliasdorneles
Last active August 1, 2016 15:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eliasdorneles/129447468ce61a2f6e3886dde3c14a41 to your computer and use it in GitHub Desktop.
Save eliasdorneles/129447468ce61a2f6e3886dde3c14a41 to your computer and use it in GitHub Desktop.
Proposal for new Scrapy release procedure

Scrapy Release Procedure

This page outlines the procedure used to release a new (major/minor) version of Scrapy. Micro/patch versions are published automatically.

You will need bumpversion installed.

Version and git branch

Here is an example, assuming we are releasing 1.1.0rc1:

# Be sure your local master branch is uptodate with remote master branch.
$ git pull origin --rebase

# Update release notes by editing docs/news.rst 
$ git add docs/news.rst
$ git commit -m 'Add 1.1.0 release notes'

# Increase version and create featured branch
# master: 1.1.0dev1 to 1.1.0rc1
$ bumpversion --new-version 1.1.0rc1 minor

# Review everything and push when sure.
$ git push origin master --tags

To make an official release from a release candidate:

# Set release date in docs/news.rst.
$ git add docs/news.rst
$ git commit -m 'Update 1.1.0 release date'

# Increase version.
# master: 1.1.0rc1 to 1.1.0
$ bumpversion release

# Review everything and push when sure.
$ git push origin master --tags

# Create branch for future bug fixing
$ git checkout -b 1.1
$ git push origin 1.1

Micro/bugfix releases

Assuming we are releasing 1.1.2:

$ git checkout 1.1
# 1.1: 1.1.1 to 1.1.2
$ bumpversion patch

# Add version, release date and changes to `docs/news.rst`
$ git log '--format=- %s (:commit:`%h`)' 1.1.1...1.1 # update docs/news.rst
$ git add docs/news.rst
$ git commit -m 'Add 1.1.2 release notes'
$ git push origin 1.1 --tags

# Checkout master and cherry pick `docs/news.rst` changes.
$ git checkout master
$ git cherry-pick 1.1  # resolve any conflicts on docs/news.rst
$ git push origin master

Buildbot

  • Update buildbot configuration to point to the new stable release

Read the Docs

  • Enable the new version to be built in readthedocs
  • Set the new version as default

scrapy.org website

Send announcement

  • announce in:
  • change #scrapy IRC channel topic:
    • /msg ChanServ topic #scrapy Welcome to Scrapy - Say "Hi!" and ask. Latest stable release is Scrapy 0.24.4 - Easy tasks http://git.io/VpGt-w
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment