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

Add Makefile for release #96

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
release: clean
git checkout master
git pull origin master
python setup.py sdist bdist_wheel
python -m twine upload --sign --identity [email protected] dist/*

tag:
git checkout master
git pull origin master
git tag `python -c "print(__import__('readthedocs_ext').__version__)"`
git push --tags

clean:
rm -rf dist/

.PHONY: release clean tag
Copy link
Contributor

Choose a reason for hiding this comment

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

Seems like a good improvement. I would like to settle on more common tooling patterns across our repos going forward though. On the other repos we're using inv for this, which I quite like. That could maybe be a next step though. I'm generally a fan of make otherwise.

Choose a reason for hiding this comment

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

+1 on standardization. I see that release depends on clean - not sure if invoke supports that sort of dependency tracking though. Brett Cannon asked on Twitter the other day and after a few recommendations, he went for doit https://twitter.com/brettsky/status/1382122878225686529

Copy link
Member

@ericholscher ericholscher Apr 19, 2021

Choose a reason for hiding this comment

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

Aren't we already using invoke for this? All our .org release tooling is built on it, so we should definitely standardize on that.

Copy link
Member

Choose a reason for hiding this comment

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

@astrojuanlu yeah, doit helps a lot with cached dependencies too. However, invoke supports pre-tasks http://docs.pyinvoke.org/en/latest/getting-started.html?highlight=pre#declaring-pre-tasks

I'm also 👍🏼 to avoid makefile and use invoke here.

20 changes: 9 additions & 11 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Read the Docs Sphinx Extensions

.. image:: https://img.shields.io/pypi/v/readthedocs-sphinx-ext.svg
:target: https://pypi.python.org/pypi/readthedocs-sphinx-ext
:alt: Pypi Version
.. image:: https://travis-ci.org/readthedocs/readthedocs-sphinx-ext.svg?branch=master
:target: https://travis-ci.org/readthedocs/readthedocs-sphinx-ext
:alt: Pypi Version
.. image:: https://circleci.com/gh/readthedocs/readthedocs-sphinx-ext.svg?style=svg
:target: https://circleci.com/gh/readthedocs/readthedocs-sphinx-ext
:alt: Build Status

This module adds extensions that make Sphinx easier to use.
Expand All @@ -21,13 +21,11 @@ We currently ship:
Releasing
---------

#. Increment the version in ``setup.py``
#. Tag the release in git: ``git tag $NEW_VERSION``.
#. Push the tag to GitHub: ``git push --tags origin master``
#. Upload the package to PyPI:
#. Increment the version in ``readthedocs_ext.__init__.py``
#. Open a PR with the changes
#. To create a tag and push to PyPI run:

.. code:: bash
.. code:: bash

$ rm -rf dist/
$ python setup.py sdist bdist_wheel
$ twine upload --sign --identity [email protected] dist/*
make tag
make release
1 change: 1 addition & 0 deletions readthedocs_ext/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__version__ = '2.1.3'
7 changes: 4 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import codecs

from setuptools import setup, find_packages
from setuptools import find_packages, setup

from readthedocs_ext import __version__
Copy link
Contributor

Choose a reason for hiding this comment

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

We're using bump version on the theme and I'd like to start using that on all of our projects. It's a solution that doesn't require importing or reading files to get the version number, and allows us to standardize on setup.cfg as well.

readthedocs/common#38


setup(
name='readthedocs-sphinx-ext',
version='2.1.3',
version=__version__,
author='Read the Docs, Inc',
author_email='[email protected]',
url='http://github.com/readthedocs/readthedocs-sphinx-ext',
Expand All @@ -14,7 +16,6 @@
package_dir={'': '.'},
packages=find_packages('.', exclude=['tests']),
long_description=codecs.open("README.rst", "r", "utf-8").read(),
# trying to add files...
include_package_data=True,
package_data={
'': ['_static/*.js', '_static/*.js_t', '_static/*.css', '_templates/*.tmpl'],
Expand Down