Skip to content

Commit 92deaff

Browse files
authored
CU-8699rg5cc: Add new workflow to publish to PyPI using TPM (#40)
* CU-8699rg5cc: Add new workflow to publish to PyPI using TPM * CU-8699rg5cc: Allow beta/alpha release versions in release scripts * CU-8699rg5cc: Make patch releases work with alpha/beta/release candidate * CU-8699rg5cc: Use a better check for patch/minor releases * CU-8699rg5cc: Fix patch release getter to work on MacOS and Linux * CU-8699rg5cc: Fix patch and minor release distribution * CU-8699rg5cc: Remove debug output
1 parent 2e535a9 commit 92deaff

File tree

4 files changed

+25
-23
lines changed

4 files changed

+25
-23
lines changed

.github/workflows/medcat-v2_release.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,11 +202,7 @@ jobs:
202202
files: |
203203
medcat-v2/dist/*
204204
205-
# Uncomment and modify this for PyPI publishing in the future
206-
# - name: Publish to PyPI
207-
# if: false # Set to `true` or remove when ready
208-
# env:
209-
# PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
210-
# run: |
211-
# pip install --upgrade twine
212-
# twine upload dist/*
205+
- name: Publish to PyPI
206+
uses: pypa/gh-action-pypi-publish@release/v1
207+
with:
208+
packages-dir: medcat-v2/dist

medcat-v2/.release/prepare_minor_release.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@ while [[ $# -gt 0 ]]; do
1919
shift
2020
done
2121

22-
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
23-
echo "Error: version '$VERSION' must be in format X.Y.Z"
22+
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+([ab]|rc)?[0-9]*$ ]]; then
23+
echo "Error: version '$VERSION' must be in format X.Y.Z or X.Y.Z<pre><n> (e.g 2.0.0b0)"
2424
exit 1
2525
fi
2626
VERSION_TAG="medcat/v$VERSION"
2727

2828
# Extract version components
2929
VERSION_MAJOR_MINOR="${VERSION%.*}"
30-
VERSION_PATCH="${VERSION##*.}"
30+
# work with alpha/beta/rc
31+
VERSION_PATCH="$(echo "$VERSION" | sed -E 's/^[0-9]+\.[0-9]+\.([0-9]+).*/\1/')"
3132
RELEASE_BRANCH="medcat/v$VERSION_MAJOR_MINOR"
3233

3334
# Helpers

medcat-v2/.release/prepare_patch_release.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,16 @@ while (( "$#" )); do
4242
esac
4343
done
4444

45-
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
46-
echo "Error: version '$VERSION' must be in format X.Y.Z"
45+
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+([ab]|rc)?[0-9]*$ ]]; then
46+
echo "Error: version '$VERSION' must be in format X.Y.Z or X.Y.Z<pre><n> (e.g 2.0.0b0)"
4747
exit 1
4848
fi
4949
VERSION_TAG="medcat/v$VERSION"
5050

5151
# Extract version components
5252
VERSION_MAJOR_MINOR="${VERSION%.*}"
53-
VERSION_PATCH="${VERSION##*.}"
53+
# work with alpha/beta/rc
54+
VERSION_PATCH="$(echo "$VERSION" | sed -E 's/^[0-9]+\.[0-9]+\.([0-9]+).*/\1/')"
5455
RELEASE_BRANCH="medcat/v$VERSION_MAJOR_MINOR"
5556

5657
# some prerequisites

medcat-v2/.release/prepare_release.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,17 @@ while [[ $# -gt 0 ]]; do
4646
done
4747

4848

49-
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
50-
echo "Error: version '$VERSION' must be in format X.Y.Z"
49+
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+([ab]|rc)?[0-9]*$ ]]; then
50+
echo "Error: version '$VERSION' must be in format X.Y.Z or X.Y.Z<pre><n> (e.g 2.0.0b0)"
5151
exit 1
5252
fi
5353

5454
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"
5555

56-
if [[ "$PATCH" == "0" ]]; then
57-
cmd=("$SCRIPT_DIR/prepare_minor_release.sh" "$VERSION")
58-
if [[ ${#EXTRA_FLAGS[@]} -gt 0 ]]; then
59-
cmd+=("${EXTRA_FLAGS[@]}")
60-
fi
61-
echo "Preparing minor release $VERSION"
62-
else
56+
MINOR_SERIES="v$MAJOR.$MINOR"
57+
58+
if git show-ref --verify --quiet "refs/remotes/origin/medcat/$MINOR_SERIES"; then
59+
echo "Branch 'medcat/$MINOR_SERIES' exists – patch release"
6360
cmd=("$SCRIPT_DIR/prepare_patch_release.sh" "$VERSION")
6461
# Add extra flags only if they exist
6562
if [[ ${#EXTRA_FLAGS[@]} -gt 0 ]]; then
@@ -70,5 +67,12 @@ else
7067
cmd+=("${CHERRY_PICK_HASHES[@]}")
7168
fi
7269
echo "Preparing patch release $VERSION"
70+
else
71+
echo "Branch 'medcat/$MINOR_SERIES' does not exist – minor release"
72+
cmd=("$SCRIPT_DIR/prepare_minor_release.sh" "$VERSION")
73+
if [[ ${#EXTRA_FLAGS[@]} -gt 0 ]]; then
74+
cmd+=("${EXTRA_FLAGS[@]}")
75+
fi
76+
echo "Preparing minor release $VERSION"
7377
fi
7478
bash "${cmd[@]}"

0 commit comments

Comments
 (0)