This commit removes generate_manifest.py and package data files
are now included using the package_data kwarg to setup().
This is because, in certain situations, MANIFEST.in is a bit
finicky. For instance installing a package using:
python setup.py install
doesn't include files specified in MANIFEST.in, while using
pip install ./zulip_bots
does. package_data doesn't pose this problem, ergo it's better
for us.
The ability to update the zulip/requirements/* files in the main
zulip repo has now been made a part of its own subcommand.
To update the requirements to install the packages off of the
0.4.0 tag, run:
./release-packages ZULIP_DIR_PATH 0.4.0
To update the requirements to install the packages off of the
commit hash abcdefg, but the version to be 0.4.0, run:
./release-packages ZULIP_DIR_PATh 0.4.0 --hash abcdefg
This commit removes the following:
* This script's dependency on gitpython, it is not maintained actively.
* The ability to push changes in this and the main zulip/ repo. Doing
so automatically was turning out to be cumbersome and buggy and
doing it manually doesn't take significantly longer anyway.
* The ability to automatically increment PROVISION_VERSION in
zulip/version.py. Again, this was too buggy and it doesn't take
much longer to just increment it by hand.
Removing the above features made the script a lot easier to maintain
and read.
This commit fixes a couple of things:
* Removes the command line argument called release_version, now
one doesn't have to supply a version number when running just
running --cleanup, for instance.
* Run --cleanup before building the wheels and sdists. This is so
that outdated distributions are removed before generating new
ones.
* Set IS_PYPA_PACKAGE back to False at the end of the --build
process so that we don't accidentally set it to True. This was
a huge bug in the previous version of the script.
This commit adds a script to automate the PyPA release of the
zulip, zulip_bots and zulip_botserver packages.
The tools/release-packages script would take care of uploading
the packages to PyPA, and push commits to both repos updating the
package versions. If you have commit access to the repos, you
can --push upstream to master. If not, then you can --push
origin to a new branch on your fork and create a PR for those
changes.
Ideally, a release shouldn't take longer than however long it
takes one to type the above command. If you have SSH set up on
GitHub, you won't need to type in your GitHub username and
password. You can also store your PyPA credentials in a file
in your home directory; it isn't very secure, but it saves
time nevertheless.