The code is currently being developed on GitHub: https://github.com/cloudera/impyla
Fork the repo and send a pull request against master. Contributions welcome!
-
To clean up
rm -rf $IMPYLA_REPO/impala/_thrift_gen rm -rf $IMPYLA_REPO/impala/thrift/*.thrift
-
cp $IMPALA_REPO/common/thrift/ImpalaService.thrift $IMPYLA_REPO/impala/thrift
Hand edit ImpalaService.thrift to exclude files, API and definitions unrelated to query profile such as Frontend.thrift, BackendGflags.thrift, and Query.thrift.
- Execute
$IMPYLA_REPO/impala/thrift/process_thrift.sh
This should only need to be done very irregularly, as the generated code is committed to the repo. Only when the original thrift IDL files change. People checking out the repo to develop on it do NOT need to run the codegen. Codegen performed with Thrift 0.16.x.
Copy a fresh copy of the udf.h header file
```bash
cp $IMPALA_REPO/be/src/udf/udf.h $IMPYLA_REPO/impala/udf/precompiled
```
-
Generate a summary of all the commits since the last release
git log $LAST_RELEASE_TAG..HEAD -
Set the release version in
setup.py(remove the.dev0tag if applicable) and commit the version number change. Also set the new version number in the readme (under "Installation") and update accordingly. -
Tag version number and summarize changes in the tag message
git tag -a vX.Y.Z
-
Push the tag upstream
git push upstream vX.Y.Z
or
git push upstream --tags
-
Register the release with PyPI
python setup.py register sdist bdist_egg upload
-
If working on master, bump up to the next anticipated version with a
.dev0tag and commit
Backporting
-
Checkout the tag for the version to backport onto and create a new branch
git checkout vX.Y.Z git checkout -b backport
-
Cherry pick the relevant commits onto the
backportbranch -
Goto #1 for main release flow
-
Remove the
backportbranch