forked from perwin/pyimfit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
howto_new_distribution.txt
49 lines (38 loc) · 1.84 KB
/
howto_new_distribution.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
NOTES/CHECKLIST FOR CREATING AND DISTRIBUTION A NEW DISTRIBUTION
Working by default in ~/coding/pyimfit on Mac.
[opt]1. Generate updated libimfit.a for macOS, IF NECESSARY
A. [mac] cd imfit
B. [mac] scons --clang-openmp libimfit.a
C. [mac] cp libimfit.a ../prebuilt/macos
[opt]2. Generate updated libimfit.a for Linux [VM: ubuntu64-16_dev], IF NECESSARY
A. [vm] cd /home/vagrant/build/pyimfit/imfit
B. [vm] scons libimfit.a
C. [vm] cp libimfit.a ../prebuilt/linux64
D. [vm] cp libimfit.a /vagrant/transfer
E. [mac] cp ~/vagrant/ubuntu64-16_dev/transfer/libimfit.a ./prebuilt/linux64
3. Do new "develop" install and run tests on macOS
[mac] $ python3 setup.py develop
[mac] $ cd pyimfit/tests ; pytest
4. Do new "develop" install and run tests on Linux VM
[mac] $ cd ~/vagrant/ubuntu64-16_dev/transfer
[mac] $ git clone ~/coding/pyimfit pyimfit
[vm] $ cd /vagrant/transfer/pyimfit
[vm] $ python3 setup.py develop --user
[vm] $ cd pyimfit/tests ; pytest
5. Update version number in pyimfit/__init__.py
6. Generate new version of docs [docs/howto_generate_docs.txt]
A. cd docs
B. Update version number in conf.py
C. IF the Jupyter notebook file has been updated, generate a markdown version with
$ jupyter nbconvert pyimfit_emcee.ipynb --to markdown
D. Generate updated documentation
$ ./make_docs.sh
E. View resulting docs in a web browser pointed at
file:///Users/erwin/coding/pyimfit/docs/_build/html/index.html
F. Commit the changes, upload to github
$ git commit -a -m "Updated documentation" [or something like that]
$ git push
7. See if updated version passes Travis CI tests
8. Generate source distribution and Mac binary wheels on Mac, and upload to PyPI:
$ ./make_upload.sh x.x.x [where "x.x.x" = version number]
10. Test installation via pip