From 1ad3f7a2b031694e3c2387f535bbd729aa75c4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dean=20Qui=C3=B1anola?= Date: Thu, 20 Nov 2025 21:23:05 -0800 Subject: [PATCH 1/2] refactor: Update CI workflow to support runpod>= versioning Changes: - Update grep pattern from runpod~= to runpod>= - Replace major.minor range logic with semantic version comparison - Add validation for current_version extraction - Update sed replacement to maintain >= operator - Workflow now triggers on any version increase (patch, minor, major) Previously, the workflow only updated for major.minor changes due to ~= (compatible release) constraint. Now with >=, all new releases are honored. --- .github/workflows/CI-update_runpod_pkg.yml | 31 +++++++++++++--------- builder/requirements.txt | 2 +- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/.github/workflows/CI-update_runpod_pkg.yml b/.github/workflows/CI-update_runpod_pkg.yml index 2485d56..7ddcdd7 100644 --- a/.github/workflows/CI-update_runpod_pkg.yml +++ b/.github/workflows/CI-update_runpod_pkg.yml @@ -22,8 +22,8 @@ jobs: run: | echo "Fetching the current runpod version from requirements.txt..." - # Get current version, allowing for '~=' operator - current_version=$(grep -oP 'runpod~=\K[^ ]+' ./builder/requirements.txt) + # Get current version (supports '>=' versioning) + current_version=$(grep -oP 'runpod>=\K[^ ]+' ./builder/requirements.txt) echo "Current version: $current_version" # Get new version from PyPI @@ -36,23 +36,28 @@ jobs: exit 1 fi - # Extract major and minor from current version (e.g., 1.7) - current_major_minor=$(echo $current_version | cut -d. -f1,2) - new_major_minor=$(echo $new_version | cut -d. -f1,2) + if [ -z "$current_version" ]; then + echo "ERROR: Failed to extract current version from requirements.txt." + exit 1 + fi - echo "Current major.minor: $current_major_minor" - echo "New major.minor: $new_major_minor" + # Compare versions using sort -V (version sort) + if [ "$current_version" = "$new_version" ]; then + echo "No update needed. Already at version $new_version." + exit 0 + fi - # Check if the new version is within the current major.minor range (e.g., 1.7.x) - if [ "$new_major_minor" = "$current_major_minor" ]; then - echo "No update needed. The new version ($new_version) is within the allowed range (~= $current_major_minor)." + # Check if new version is actually newer + newer_version=$(printf "%s\n%s" "$current_version" "$new_version" | sort -V | tail -n1) + if [ "$newer_version" = "$current_version" ]; then + echo "No update needed. Current version ($current_version) is already >= new version ($new_version)." exit 0 fi - echo "New major/minor detected ($new_major_minor). Updating runpod version..." + echo "New version detected ($new_version > $current_version). Updating runpod version..." - # Update requirements.txt with the new version while keeping '~=' - sed -i "s/runpod~=.*/runpod~=$new_version/" ./builder/requirements.txt + # Update requirements.txt with the new version while keeping '>=' + sed -i "s/runpod>=.*/runpod>=$new_version/" ./builder/requirements.txt echo "requirements.txt has been updated." - name: Create Pull Request diff --git a/builder/requirements.txt b/builder/requirements.txt index 8e062df..56893e0 100644 --- a/builder/requirements.txt +++ b/builder/requirements.txt @@ -1,6 +1,6 @@ # Required Python packages get listed here, one per line. # Reccomended to lock the version number to avoid unexpected changes. -runpod~=1.7.0 +runpod>=1.8.0 requests==2.31.0 From 7d8028cd479277b4d9f868d98bbaefc37ddb0b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dean=20Qui=C3=B1anola?= Date: Thu, 20 Nov 2025 22:27:49 -0800 Subject: [PATCH 2/2] Update builder/requirements.txt Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- builder/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/requirements.txt b/builder/requirements.txt index 56893e0..d517da0 100644 --- a/builder/requirements.txt +++ b/builder/requirements.txt @@ -1,5 +1,5 @@ # Required Python packages get listed here, one per line. -# Reccomended to lock the version number to avoid unexpected changes. +# Recommended to lock the version number to avoid unexpected changes. runpod>=1.8.0