Skip to content

Release Procedure

Roger Binns edited this page Jun 5, 2022 · 31 revisions

#summary The steps to go through to make a release

  • Edit tools/checksums.py to add new SQLite releases and then run it. Add any lines it outputs to the checksums file. Run setup.py fetch --all to check checksums are picked up correctly.

  • Update Makefile: Update the version number at the top of the Makefile. Run make header to ensure the header file is updated. Edit doc/index.rst to set release date and minimum supported SQLite version. Edit src/apsw.c to set #if check for minimum supported SQLite version

  • make fulltest valgrind1 to check for deeper issues

  • Check it works: Edit megatest.py near the bottom to ensure it includes all supported SQLite and Python versions. Run it and check test output. On Windows, run make compile-win will run all tests.

  • Update in local directory: Ensure you build and run the tests with the supported SQLite version. Output from the example program will end up in the HTML file and needs to have correct versions etc.

  • Check no public symbols make showsymbols should be clear

  • touch *.py src/*.c ;make docs check docs are ok

  • Commit: This is the last chance to make changes for the release. Do your git commit to save all changes.

  • Tag the release: make tagpush

  • Build and publish to test PyPI https://github.com/rogerbinns/apsw/actions/workflows/build-testpypi.yml

  • rm -rf dist to clear out dist directory.

  • Make the doc+source release: make source. This populates the dist directory

  • Make the Windows binaries

    • git pull

    • Build: make compile-win.

    • Copy the resulting dist/setup…​ files to dist on the host.

  • make release to sign everything in dist directory.

  • Create github release and upload source and Windows binaries.

  • Update online doc ; make publish ; cd ../apsw-publish ; git commit -am release; git status ; git push

  • Send announcement to mailing list.

  • Publish to PyPi https://github.com/rogerbinns/apsw/actions/workflows/build-pypi.yml

Clone this wiki locally