|
16 | 16 |
|
17 | 17 | 1. update the VERSION in _version.py and the single test cases in base.py. |
18 | 18 | 2. run `corpus.corpora.CoreCorpus().cacheMetadata()`. |
19 | | - for a major change run corpus.corpora.CoreCorpus().rebuildMetadataCache() |
| 19 | + for a major change that affects parsing run corpus.corpora.CoreCorpus().rebuildMetadataCache() |
20 | 20 | (20 min on IntelMacbook Air) -- either of these MAY change a |
21 | 21 | lot of tests in corpus, metadata, etc. so don't skip the next step! |
22 | | -3. run test/warningMultiprocessTest.py for lowest and highest Py version -- fix all warnings! |
23 | | -4. run test/testLint.py and fix any lint errors (covered now by CI) |
24 | | -5. commit and then check test/testSingleCoreAll.py or wait for results on GitHub Actions |
| 22 | +3. IMPORTANT: run python documentation/testDocumentation.py and afterwards fix errors [*] |
| 23 | +
|
| 24 | +[*] you will need pytest, docutils, nbval installed (along with ipython and jupyter), |
| 25 | +you cannot check to see if fixed tests work while it is running. |
| 26 | +This takes a while and runs single core, and then almost always needs code patches |
| 27 | +so allocate time. Start working on the announcement while it's running. |
| 28 | +
|
| 29 | +
|
| 30 | +4. run test/warningMultiprocessTest.py for lowest and highest Py version -- fix all warnings! |
| 31 | +5. commit and wait for results on GitHub Actions |
25 | 32 | (normally not necessary, because it's slower and mostly duplicates multiprocessTest, |
26 | 33 | but should be done before making a release). |
27 | | -6. IMPORTANT: run python documentation/testDocumentation.py and afterwards fix errors [*] |
28 | 34 |
|
29 | | -[*] you will need pytest, docutils, nbval installed (along with ipython and jupyter), you cannot check |
30 | | -to see if fixed tests work while it is running. |
31 | | -This takes a while and runs single core, so allocate time. Start working on |
32 | | -the announcement while it's running. |
33 | | -
|
34 | | -7. run documentation/make.py clean (skip on minor version changes) |
35 | | -8. run documentation/make.py linkcheck [*] |
36 | | -9. run documentation/make.py [*] |
| 35 | +6. run documentation/make.py clean (skip on minor version changes) |
| 36 | +7. run documentation/make.py linkcheck [*] |
| 37 | +8. run documentation/make.py [*] |
37 | 38 |
|
38 | 39 | [*] you will need sphinx, Jupyter (pip or easy_install), markdown, and pandoc (.dmg) installed |
39 | 40 |
|
|
50 | 51 | 14. Run this file -- it builds the no-corpus version of music21. |
51 | 52 | DO NOT RUN THIS ON A PC -- the Mac .tar.gz might have an incorrect permission if you do. |
52 | 53 |
|
53 | | -15. COMMIT to GitHub at this point w/ commit comment of the new version, |
| 54 | +15. PR and Commit to GitHub at this point w/ commit comment of the new version, |
54 | 55 | then don't change anything until the next step is done. |
55 | 56 | (.gitignore will avoid uploading the large files created here...) |
56 | 57 |
|
57 | | -16. Tag the commit: git tag -a vX.Y.Z -m "music21 vX.Y.Z" |
| 58 | +16. Switch back to master/main branch |
| 59 | +
|
| 60 | +17. Tag the commit: git tag -a vX.Y.Z -m "music21 vX.Y.Z" |
58 | 61 | Don't forget the "v" in the release tag. |
59 | 62 | Sanity check that the correct commit was tagged: git log |
60 | 63 |
|
61 | | -17. Push tags: git push --tags (or git push upstream --tags if not on main branch) |
| 64 | +18. Push tags: git push --tags (or git push upstream --tags if not on main branch) |
62 | 65 |
|
63 | | -18. Create a new release on GitHub and upload the TWO non-wheel files created here and docs. |
| 66 | +19. Create a new release on GitHub and upload the TWO non-wheel files created here and docs. |
64 | 67 | Drag in this order: .tar.gz, documentation, no-corpus.tar.gz |
65 | 68 |
|
66 | 69 | Finish this before doing the next step, even though it looks like it could be done in parallel. |
67 | 70 |
|
68 | | -19. Upload the new file to PyPI with "twine upload music21-7.3.5a2.tar.gz", and same for the |
| 71 | +20. Upload the new file to PyPI with "twine upload music21-7.3.5a2.tar.gz", and same for the |
69 | 72 | whl file (but NOT no corpus) [*] |
70 | 73 |
|
71 | 74 | [*] Requires twine to be installed |
|
80 | 83 | username:your_username |
81 | 84 | password:your_password |
82 | 85 |
|
83 | | -20. Delete the two .tar.gz files and .whl file in dist... |
| 86 | +21. Delete the two .tar.gz files and .whl file in dist... |
84 | 87 |
|
85 | | -21. For starting a new major release create a GitHub branch for the old one. |
| 88 | +22. For starting a new major release create a GitHub branch for the old one. |
86 | 89 |
|
87 | 90 | 22. Immediately increment the number in _version.py and run tests on it here |
88 | 91 | to prepare for next release. |
|
0 commit comments