split up release script into subscripts

This commit is contained in:
Nick Sweeting 2021-01-12 12:56:00 +02:00
parent b0096c7844
commit 2c69b012c9
8 changed files with 192 additions and 56 deletions

View file

@ -11,69 +11,28 @@ set -o pipefail
IFS=$'\n'
REPO_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && cd .. && pwd )"
cd "$REPO_DIR"
source "./.venv/bin/activate"
# Make sure git is clean
if [ -z "$(git status --porcelain)" ] && [[ "$(git branch --show-current)" == "master" ]]; then
git pull
else
echo "[!] Warning: git status is dirty!"
echo " Press Ctrl-C to cancel, or wait 10sec to continue..."
sleep 10
fi
# Run the linters and tests
# ./bin/lint.sh
# ./bin/test.sh
# Bump version number in source
function bump_semver {
echo "$1" | awk -F. '{$NF = $NF + 1;} 1' | sed 's/ /./g'
}
OLD_VERSION="$(jq -r '.version' < "$REPO_DIR/package.json")"
NEW_VERSION="$(bump_semver "$OLD_VERSION")"
echo "[*] Bumping VERSION from $OLD_VERSION to $NEW_VERSION"
contents="$(jq ".version = \"$NEW_VERSION\"" "$REPO_DIR/package.json")" && \
echo "${contents}" > package.json
# Build docs, python package, and docker image
# Run all the build scripts
./bin/build_git.sh
./bin/build_docs.sh
./bin/build_pip.sh
./bin/build_deb.sh
./bin/build_brew.sh
./bin/build_docker.sh
# Push relase to public repositories
./bin/release_git.sh
./bin/release_docs.sh
./bin/release_pip.sh
./bin/release_deb.sh
./bin/release_brew.sh
./bin/release_docker.sh
# Push build to github
echo "[^] Pushing source to github"
git add "$REPO_DIR/docs"
git add "$REPO_DIR/deb_dist"
git add "$REPO_DIR/pip_dist"
git add "$REPO_DIR/brew_dist"
git add "$REPO_DIR/package.json"
git add "$REPO_DIR/package-lock.json"
git commit -m "$NEW_VERSION release"
git tag -a "v$NEW_VERSION" -m "v$NEW_VERSION"
git push origin master
git push origin --tags
# Push releases to github
echo "[^] Uploading to test.pypi.org"
python3 -m twine upload --repository testpypi pip_dist/*.{whl,tar.gz}
echo "[^] Uploading to pypi.org"
python3 -m twine upload --repository pypi pip_dist/*.{whl,tar.gz}
echo "[^] Uploading to launchpad.net"
dput archivebox "deb_dist/archivebox_${NEW_VERSION}-1_source.changes"
echo "[^] Uploading docker image"
# docker login --username=nikisweeting
# docker login docker.pkg.github.com --username=pirate
docker push docker.io/nikisweeting/archivebox
docker push docker.io/archivebox/archivebox
docker push docker.pkg.github.com/archivebox/archivebox/archivebox
echo "[√] Done. Published version v$NEW_VERSION"
VERSION="$(jq -r '.version' < "$REPO_DIR/package.json")"
echo "[√] Done. Published version v$VERSION"