Skip to content

Commit 458465e

Browse files
Merge pull request #2013 from kili-technology/feature/lab-4174-sdk-fix-release-doc-pipeline-for-lts
chore: fix deploy-doc & pre_release pipelines
2 parents a2c00ca + 3816be9 commit 458465e

3 files changed

Lines changed: 29 additions & 13 deletions

File tree

.github/scripts/utils.sh

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,17 @@ version_to_int() {
2828
echo "$((10#$as_int))" # interpret as base 10
2929
}
3030

31-
get_last_release_tag_github() {
32-
last_tag=$(curl --silent "https://api.github.com/repos/kili-technology/kili-python-sdk/releases/latest" | jq -r .tag_name)
33-
echo "$last_tag"
31+
32+
# Get the previous release tag for a given version (closest inferior version)
33+
# $1: current version (e.g., "25.2.7")
34+
# Returns: previous tag (could be any major.minor.patch), or empty string if none
35+
get_previous_release_tag() {
36+
local current_version="$1"
37+
38+
# List all semver tags, add current, sort, get line before current
39+
(git tag -l | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$'; echo "$current_version") | \
40+
sort -V -u | \
41+
grep -B1 "^${current_version}$" | \
42+
head -1 | \
43+
grep -v "^${current_version}$"
3444
}

.github/workflows/deploy_doc.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ jobs:
2222
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
2323
echo "REF=${{ github.event.inputs.branch }}" >> $GITHUB_ENV
2424
else
25-
release_payload=$(curl --silent "https://api.github.com/repos/kili-technology/kili-python-sdk/releases/latest")
26-
last_version=$(echo "$release_payload" | jq -r .tag_name)
27-
echo "Last version: $last_version"
28-
29-
release_branch=$(echo "$release_payload" | jq -r .target_commitish)
25+
# Use the release that triggered this workflow, not the "latest" release
26+
release_branch="${{ github.event.release.target_commitish }}"
27+
tag_name="${{ github.ref_name }}"
28+
echo "Release tag: $tag_name"
3029
echo "Release branch: $release_branch"
31-
sanitized_version=${last_version#v}
30+
31+
sanitized_version=${tag_name#v}
3232
major_minor=$(echo "$sanitized_version" | awk -F. '{print $1 "." $2}')
3333
3434
if [[ "$release_branch" == "main" ]]; then
@@ -62,7 +62,13 @@ jobs:
6262
run: |
6363
export version=$(python -c 'from kili import __version__; print(".".join(__version__.split(".")[:2]))') # removes patch suffix
6464
git fetch origin gh-pages --depth=1
65-
mike deploy --push --update-aliases $version latest
65+
if [[ "${{ env.REF }}" == "main" ]]; then
66+
# Only update "latest" alias for releases from main branch
67+
mike deploy --push --update-aliases $version latest
68+
else
69+
# Maintenance releases: update version docs without changing "latest" alias
70+
mike deploy --push $version
71+
fi
6672
6773
- name: Slack notification
6874
id: slack

.github/workflows/pre_release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ jobs:
7575
release_version=$(get_sdk_version_from_pyproject_toml)
7676
echo "Release version: $release_version"
7777
78-
# Get last release tag for release notes range
79-
latest_release=$(get_last_release_tag_github)
80-
echo "Latest release tag: $latest_release"
78+
# Get previous release tag (closest inferior version)
79+
latest_release=$(get_previous_release_tag "$release_version")
80+
echo "Previous release tag: $latest_release"
8181
8282
git fetch --tags --quiet
8383

0 commit comments

Comments
 (0)