##// END OF EJS Templates
Fix up rst formatting
Carol Willing -
Show More
@@ -1,15 +1,15 b''
1 .. _core_developer_guide:
1 .. _core_developer_guide:
2
2
3 ==================================
3 ==================================
4 Developer's guide for core IPython
4 Developer's guide to core IPython
5 ==================================
5 ==================================
6
6
7 This guide documents the development of core *IPython itself*. Developers of
7 This guide documents the development of core IPython. Alternatively,
8 third party tools and libraries that use IPython should see the
8 developers of third party tools and libraries that use IPython should see the
9 :doc:`development/index` at `Developer's guide for Third Party Tools and Libraries`.
9 :doc:`../development/index`.
10
10
11 Developers working on IPython itself should also consult the
11 Developers working on core IPython should also consult the
12 `developer information <https://github.com/ipython/ipython/wiki/Dev:-Index>`_
12 `developer information <https://github.com/ipython/ipython/wiki/Dev:-Index>`_
13 on the IPython GitHub wiki.
13 on the IPython GitHub wiki.
14
14
15 .. toctree::
15 .. toctree::
@@ -1,7 +1,7 b''
1 .. old_release_doc::
1 .. old_release_doc::
2
2
3 Making an IPython release [TODO:: Can this be replaced by the Release Process document???]
3 Making an IPython release [TODO:: Can this content by removed ???]
4 ==========================================================================================
4 ==================================================================
5
5
6 Make sure the repository is clean of any file that could be problematic.
6 Make sure the repository is clean of any file that could be problematic.
7 You can remove all non-tracked files with:
7 You can remove all non-tracked files with:
@@ -10,11 +10,11 b' Conveniently, the `release` script in the `tools` directory of the `IPython`'
10 repository automates most of the release process. This document serves as a
10 repository automates most of the release process. This document serves as a
11 handy reminder and checklist for the release manager.
11 handy reminder and checklist for the release manager.
12
12
13 #. Set Environment variables
13 1. Set Environment variables
14 ----------------------------
14 ----------------------------
15
15
16 Set environment variables to document previous release tag, current
16 Set environment variables to document previous release tag, current
17 release milestone, current release version, and git tag:
17 release milestone, current release version, and git tag::
18
18
19 PREV_RELEASE=rel-1.0.0
19 PREV_RELEASE=rel-1.0.0
20 MILESTONE=1.1
20 MILESTONE=1.1
@@ -27,13 +27,13 b' questions instead of typing the appropriate command when the time comes. These'
27 variables are not used by the scripts directly; therefore, there is no need to
27 variables are not used by the scripts directly; therefore, there is no need to
28 `export` the variables.
28 `export` the variables.
29
29
30 #. Finish release notes
30 2. Create GitHub stats and finish release note
31 -----------------------
31 ----------------------------------------------
32
32
33 .. note::
33 .. note::
34
34
35 Before generating the GitHub stats, verify that all closed issues and
35 Before generating the GitHub stats, verify that all closed issues and
36 pull requests `have appropriate milestones <https://github.com/ipython/ipython/wiki/Dev%3A-GitHub-workflow#milestones>`_.
36 pull requests have `appropriate milestones <https://github.com/ipython/ipython/wiki/Dev%3A-GitHub-workflow#milestones>`_.
37 `This search <https://github.com/ipython/ipython/issues?q=is%3Aclosed+no%3Amilestone+is%3Aissue>`_
37 `This search <https://github.com/ipython/ipython/issues?q=is%3Aclosed+no%3Amilestone+is%3Aissue>`_
38 should return no results before creating the GitHub stats.
38 should return no results before creating the GitHub stats.
39
39
@@ -58,49 +58,49 b' If a major release:'
58 content from `stats.rst` may simply be added to the top of an existing
58 content from `stats.rst` may simply be added to the top of an existing
59 `github-stats-X.rst` file.
59 `github-stats-X.rst` file.
60
60
61 To find duplicates and update `.mailmap`, use:
61 To find duplicates and update `.mailmap`, use::
62
62
63 git log --format="%aN <%aE>" $PREV_RELEASE... | sort -u -f
63 git log --format="%aN <%aE>" $PREV_RELEASE... | sort -u -f
64
64
65
65
66 #. Run the `tools/build_release` script
66 3. Run the `tools/build_release` script
67 ---------------------------------------
67 ---------------------------------------
68
68
69 This does all the file checking and building that the real release script will
69 Running `tools/build_release` does all the file checking and building that
70 do. This makes test installations, checks that the build procedure runs OK,
70 the real release script will do. This makes test installations, checks that
71 and tests other steps in the release process.
71 the build procedure runs OK, and tests other steps in the release process.
72
72
73 We encourage creating a test build of the docs as well.
73 We encourage creating a test build of the docs as well.
74
74
75 #. Create and push the new tag
75 4. Create and push the new tag
76 ------------------------------
76 ------------------------------
77
77
78 Edit `IPython/core/release.py` to have the current version.
78 Edit `IPython/core/release.py` to have the current version.
79
79
80 Commit the changes to release.py and jsversion:
80 Commit the changes to release.py and jsversion::
81
81
82 git commit -am "release $VERSION"
82 git commit -am "release $VERSION"
83 git push origin $BRANCH
83 git push origin $BRANCH
84
84
85 Create and push the tag:
85 Create and push the tag::
86
86
87 git tag -am "release $VERSION" "$TAG"
87 git tag -am "release $VERSION" "$TAG"
88 git push origin --tags
88 git push origin --tags
89
89
90 Update release.py back to `x.y-dev` or `x.y-maint`, and push:
90 Update release.py back to `x.y-dev` or `x.y-maint`, and push::
91
91
92 git commit -am "back to development"
92 git commit -am "back to development"
93 git push origin $BRANCH
93 git push origin $BRANCH
94
94
95 #. Get a fresh clone
95 5. Get a fresh clone
96 --------------------
96 --------------------
97
97
98 Get a fresh clone of the tag for building the release:
98 Get a fresh clone of the tag for building the release::
99
99
100 cd /tmp
100 cd /tmp
101 git clone --depth 1 https://github.com/ipython/ipython.git -b "$TAG"
101 git clone --depth 1 https://github.com/ipython/ipython.git -b "$TAG"
102
102
103 #. Run the release script
103 6. Run the release script
104 -------------------------
104 -------------------------
105
105
106 Run the `release` script::
106 Run the `release` script::
@@ -112,31 +112,38 b' them to archive.ipython.org and registers the release with PyPI.'
112
112
113 This step requires having a current wheel, Python 3.4 and Python 2.7.
113 This step requires having a current wheel, Python 3.4 and Python 2.7.
114
114
115 #. Draft a short release announcement
115 7. Draft a short release announcement
116 -------------------------------------
116 -------------------------------------
117
117
118 This should include i) highlights and ii) a link to the html version of
118 The announcement should include:
119 the *What's new* section of the documentation.
119
120 - release highlights
121 - a link to the html version of the *What's new* section of the documentation
122 - a link to upgrade or installation tips (if necessary)
120
123
121 Post the announcement to the mailing list, and link from Twitter.
124 Post the announcement to the mailing list, and link from Twitter.
122
125
123 #. Update milestones on GitHub
126 8. Update milestones on GitHub
124 ------------------------------
127 ------------------------------
125
128
129 These steps will bring milestones up to date:
130
126 - close the just released milestone
131 - close the just released milestone
127 - open a new milestone for the next release (x, y+1), if the milestone doesn't
132 - open a new milestone for the next release (x, y+1), if the milestone doesn't
128 exist already
133 exist already
129
134
130 #. Update the IPython website
135 9. Update the IPython website
131 -----------------------------
136 -----------------------------
137
132 The IPython website should document the new release:
138 The IPython website should document the new release:
133
139
134 - add release announcement (news, announcements)
140 - add release announcement (news, announcements)
135 - update current version and download links
141 - update current version and download links
136 - update links on the documentation page (especially if a major release)
142 - update links on the documentation page (especially if a major release)
137
143
138 #. Celebrate!
144 10. Celebrate!
139 -------------
145 --------------
140
146
141 Celebrate the release and thank the contributors for their work.
147 Celebrate the release and please thank the contributors for their work. Great
148 job!
142
149
@@ -1,14 +1,14 b''
1 .. _developer_guide:
1 .. _developer_guide:
2
2
3 =====================================================
3 =====================================================
4 Developer's guide for Third Party Tools and Libraries
4 Developer's guide for third party tools and libraries
5 =====================================================
5 =====================================================
6
6
7 .. important:
7 .. important::
8
8
9 This guide contains information for developers of third party tools and
9 This guide contains information for developers of third party tools and
10 libraries that use IPython. Documentation for developers of co
10 libraries that use IPython. Alternatively, documentation for core
11 *IPython itself* can be found in the :doc:`coredev/index`.
11 **IPython** development can be found in the :doc:`../coredev/index`.
12
12
13 .. toctree::
13 .. toctree::
14 :maxdepth: 1
14 :maxdepth: 1
@@ -19,53 +19,4 b" Developer's guide for Third Party Tools and Libraries"
19 lexer
19 lexer
20 pycompat
20 pycompat
21 config
21 config
22 inputhook_app
22 inputhook_app No newline at end of file
23
24 Making an IPython release
25 =========================
26
27 Make sure the repository is clean of any file that could be problematic.
28 You can remove all non-tracked files with:
29
30 .. code::
31
32 git clean -xfdi
33
34 This would ask you for confirmation before removing all untracked files. Make
35 sure the ``dist/`` folder is clean and avoid stale build from
36 previous attempts.
37
38 1. Update version number in ``IPython/core/release.py``.
39
40 Make sure the version number match pep440, in particular, `rc` and `beta` are
41 not separated by `.` or the `sdist` and `bdist` will appear as different
42 releases.
43
44 2. Commit and tag the release with the current version number:
45
46 .. code::
47
48 git commit -am "release $VERSION"
49 git tag $VERSION
50
51
52 3. You are now ready to build the ``sdist`` and ``wheel``:
53
54 .. code::
55
56 python setup.py sdist --formats=zip,gztar
57 python2 setup.py bdist_wheel
58 python3 setup.py bdist_wheel
59
60
61 4. You can now test the ``wheel`` and the ``sdist`` locally before uploading to PyPI.
62 Make sure to use `twine <https://github.com/pypa/twine>`_ to upload the archives over SSL.
63
64 .. code::
65
66 $ twine upload dist/*
67
68 5. If all went well, change the ``IPython/core/release.py`` back adding the ``.dev`` suffix.
69
70 6. Push directly on master, not forgetting to push ``--tags``.
71
General Comments 0
You need to be logged in to leave comments. Login now