-
Notifications
You must be signed in to change notification settings - Fork 9
How to release
MatejKastak edited this page Jan 10, 2024
·
19 revisions
This are the temporary steps to until we have GithubActions release ready:
git checkout master
git pull
# Bump the version in toml files, I use `nvim -p yari-cli/Cargo.toml yari-py/Cargo.toml yari-sys/Cargo.toml`
# Update the CHANGELOG
cargo build
cd yari-sys && cargo +nightly fuzz build && cd ..
git add .
git commit -m "Release v0.1.0"
git tag -a v0.1.0 -m "Release v0.1.0"
docker build -t yari_manylinux2014 -f docker/Dockerfile.manylinux2014 .
docker run --rm -it --detach-keys="ctrl-@" yari_manylinux2014:latest
# In the docker image
read PASS # input the pypi publish token
cd yari-py
YARI_STATIC_BUILD=1 YARI_USE_BUNDLED_BINDINGS=1 YARI_LIB_DIRS="/usr/local/lib/:/usr/local/lib64/:/usr/x86_64-unknown-linux-gnu/lib/:/usr/lib/x86_64-linux-gnu/" $PYTHON_BUILDER -m maturin publish -u __token__ -p $PASS --no-sdist -i python3.7 -i python3.8 -i python3.9 -i python3.10 -i python3.11 -i python3.12
# if we are doing something with the build procedure I usually use
YARI_STATIC_BUILD=1 YARI_USE_BUNDLED_BINDINGS=1 YARI_LIB_DIRS="/usr/local/lib/:/usr/local/lib64/:/usr/x86_64-unknown-linux-gnu/lib/:/usr/lib/x86_64-linux-gnu/" $PYTHON_BUILDER -m maturin build --find-interpreter --release --strip
# copy the wheel from docker containers
# install it locally and run
python -c 'import yari; c = yari.Context(); print(c.eval("time.now()"))'
- push the release commit to master
- run the github action to build python wheels manually
twine upload --skip-existing -u __token__ -p $PASS *.whl
# OLD WAY: maturin publish -u __token__ -p $PASS --no-sdist