RELEASE.md
Simple checklist on how to make releases for tokenizers.
master branch.cd tokenizers && cargo bench (needs to be run on latest release tag to measure difference if it's your first time)transformers tests. (transformers is a big user of tokenizers we need
to make sure we don't break it, testing is one way to make sure nothing unforeseen
has been done.)
RUN_PIPELINE_TESTS=1 CUDA_VISIBLE_DEVICES=-1 pytest -sv tests/)transformers
test suite.
tokenizers version need to make sure users don't upgrade before transformers has). link
For instance tokenizers>=0.10,<0.11 so we can safely upgrade to 0.11 without impacting
current usersCreate release after the code modifications are on master.tokenizers (rust, python & node) versions don't have to be in sync but it's
very common to release for all versions at once for new features.Cargo.toml to reflect new versionCHANGELOG.md:
vX.X.X.CHANGELOG.mdPublish release. This will start the whole process of building a uploading
the new version on crates.io, there's no going back after thisbindings/python/setup.py to reflect new version.bindings/python/py_src/tokenizers/__init__.py to reflect new version.CHANGELOG.md:
python-vX.X.X.CHANGELOG.mdPublish release. This will start the whole process of building a uploading
the new version on pypi, there's no going back after thisPypi(normal), conda and extra. Extra is REALLY slow (~4h), this is normal since it has to rebuild many things, but enables the wheel to be available for old Linuxesbindings/node/package.json to reflect new version.CHANGELOG.md:
node-vX.X.X.CHANGELOG.mdPublish release. This will start the whole process of building a uploading
the new version on npm, there's no going back after thisIf you want to make modifications to the CI/CD of the release GH actions, you need to :
crates.io, PyPi or npm.