Skip to content
Roger Binns edited this page Mar 11, 2026 · 5 revisions

Sync with upstream

# APSW releases happen from master branch
git switch master

# Do this once per checkout to configure the upstream remote
git remote add upstream https://github.com/rogerbinns/apsw.git

# Download upstream changes
git fetch upstream

# Merge the upstream changes
git merge upstream/master

# Sync back to github
git push
# Check the tags - you'll want the relevant/most recent one
git tag --sort=-creatordate | head

# Switch to our release branch
git switch sqlite3mc

# merge the relevant release tag
git merge 3.46.0.0  -- REPLACE TAG NAME!

# Extract the amalgamation from the release zip at https://github.com/utelle/SQLite3MultipleCiphers/releases
cp WHEREVER/THE/AMALGAMATION/IS/sqlite3mc_amalgamation.c sqlite3/sqlite3.c

# Commit and push the amalgamation
git add sqlite3/sqlite3.c
git commit -m "update sqlite3mc amalgamation"
git push

# If the sqlite3mc amalgamation changed, edit README.rst because it
# shows the version number in example output

# Make a virtual environment if you aren't using one already
rm -rf .venv
python3 -m venv .venv
. .venv.bin.activate

# Update the venv
make dev-depends

# Local sanity check build and test
python3 build_ext --inplace --force --debug test

You can now build, test, and publish the result via Github actions. Go to github actions. MAKE SURE YOU RUN IT FROM THE sqlite3mc BRANCH!

Clone this wiki locally