Command line tool to use Github's API for automation:
- create release with assets
- upload/download files to github
- TODO
pip install githubot
Releases management.
Usage: githubot release --token=TOKEN --repo=REPO
[--tag=TAG] [--title=TITLE] [--message=MESSAGE]
[ASSETS...]
Options:
--token=TOKEN Github access token.
-r=REPO --repo=REPO Repo full name like: owner/repo.
--tag=TAG Tag name for the release. If the tag does not
exist it will be created on default branch.
--title=TITLE Title for the release.
--message=MESSAGE Message for the release.
-h --help Show this message and exit.
For example:
Create a release to repo WqyJh/test
with assets under the path of assets/
.
githubot release --token <github_token> --repo WqyJh/test assets/*
Create a release and specify tag
, title
and message
for it.
githubot release \
--token <github_token> \
--repo WqyJh/test \
--tag test_tag \
--title "This is an test title" \
--message "This release contains xxx" \
assets/*
Only regular files are supported for the --assets
option, directories are not supported.
You can specify files in the following manner:
--assets file1 file2
--assets path/* # wildcard
Files management.
Usage: githubot file upload --token=TOKEN --repo=REPO [FILES...]
githubot file download --token=TOKEN --repo=REPO [FILES...]
Options:
--token=TOKEN Github access token.
-r=REPO --repo=REPO Repo full name like: owner/repo.
-h --help Show this message and exit.
Upload files to github repo WqyJh/test
.
./run.py file upload \
--token <github_token> \
--repo WqyJh/test \
file1 file2 file*
Note that the FILES
argument is just the same with ASSETS
, only regular files are supported.
Download files from github repo WqyJh/test
.
./run.py file download \
--token <github_token> \
--repo WqyJh/test \
file1 dir1 dir2/
Note that the FILES
argument here cannot contains wildcard, but it can contains directories.
Delete files from github repo.
./run.py file delete \
--token <github_token> \
--repo Wqyjh/test \
file1 dir1 dir2/
- bumping 0.3.0 (PYPI)
- auto-changelog 1.15.0 (NPM)
The release processing is as follow:
- Calculate semantic version
git checkout dev git pull origin dev bumping
- Create release branch from dev
git checkout -b release-<version>
- Modify the version and commit
- Generate changelog and commit
auto-changelog --latest-version <version> --tag-prefix v
- Merge to master branch
- Tag version to master branch