Merge pull request #1355 from JackDanger/jack/release-help
Updating CONTRIBUTING with release instructions
This commit is contained in:
commit
101210e4d4
@ -1,4 +1,25 @@
|
|||||||
### Contributing code
|
### Contributing code
|
||||||
|
|
||||||
If you have improvements to Moto, send us your pull requests! For those
|
Moto has a [Code of Conduct](https://github.com/spulec/moto/blob/master/CODE_OF_CONDUCT.md), you can expect to be treated with respect at all times when interacting with this project.
|
||||||
just getting started, Github has a [howto](https://help.github.com/articles/using-pull-requests/).
|
|
||||||
|
## Is there a missing feature?
|
||||||
|
|
||||||
|
Moto is easier to contribute to than you probably think. There's [a list of which endpoints have been implemented](https://github.com/spulec/moto/blob/master/IMPLEMENTATION_COVERAGE.md) and we invite you to add new endpoints to existing services or to add new services.
|
||||||
|
|
||||||
|
How to teach Moto to support a new AWS endpoint:
|
||||||
|
|
||||||
|
* Create an issue describing what's missing. This is where we'll all talk about the new addition and help you get it done.
|
||||||
|
* Create a [pull request](https://help.github.com/articles/using-pull-requests/) and mention the issue # in the PR description.
|
||||||
|
* Try to add a failing test case. For example, if you're trying to implement `boto3.client('acm').import_certificate()` you'll want to add a new method called `def test_import_certificate` to `tests/test_acm/test_acm.py`.
|
||||||
|
* If you can also implement the code that gets that test passing that's great. If not, just ask the community for a hand and somebody will assist you.
|
||||||
|
|
||||||
|
# Maintainers
|
||||||
|
|
||||||
|
## Releasing a new version of Moto
|
||||||
|
|
||||||
|
You'll need a PyPi account and a Dockerhub account to release Moto. After we release a new PyPi package we build and push the [motoserver/moto](https://hub.docker.com/r/motoserver/moto/) Docker image.
|
||||||
|
|
||||||
|
* First, `scripts/bump_version` modifies the version and opens a PR
|
||||||
|
* Then, merge the new pull request
|
||||||
|
* Finally, generate and ship the new artifacts with `make publish`
|
||||||
|
|
||||||
|
2
Makefile
2
Makefile
@ -36,7 +36,7 @@ tag_github_release:
|
|||||||
git tag `python setup.py --version`
|
git tag `python setup.py --version`
|
||||||
git push origin `python setup.py --version`
|
git push origin `python setup.py --version`
|
||||||
|
|
||||||
publish: implementation_coverage \
|
publish:
|
||||||
upload_pypi_artifact \
|
upload_pypi_artifact \
|
||||||
tag_github_release \
|
tag_github_release \
|
||||||
push_dockerhub_image
|
push_dockerhub_image
|
||||||
|
27
scripts/bump_version
Executable file
27
scripts/bump_version
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
main() {
|
||||||
|
local version=$1
|
||||||
|
if [[ -z "${version}" ]]; then
|
||||||
|
echo "USAGE: $0 1.3.2"
|
||||||
|
echo "Provide a new version number as an argument to bump the version"
|
||||||
|
echo -n "Current:"
|
||||||
|
grep version= setup.py
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# TODO: replace this with the bumpversion pip package, I couldn't
|
||||||
|
# figure out how to use that for these files
|
||||||
|
sed -i '' "s/version=.*$/version='${version}',/g" setup.py
|
||||||
|
sed -i '' "s/__version__ = .*$/__version__ = '${version}',/g" moto/__init__.py
|
||||||
|
|
||||||
|
git checkout -b version-${version}
|
||||||
|
# Commit the new version
|
||||||
|
git commit setup.py -m "bumping to version ${version}"
|
||||||
|
# Commit an updated IMPLEMENTATION_COVERAGE.md
|
||||||
|
make implementation_coverage || true
|
||||||
|
# Open a PR
|
||||||
|
open https://github.com/spulec/moto/compare/master...version-${version}
|
||||||
|
}
|
||||||
|
|
||||||
|
main $@
|
Loading…
Reference in New Issue
Block a user