Skip to content

Commit 9dbad21

Browse files
committed
Use Python runpy to read __version__ in Validate stage instead of grep/sed
1 parent 3821a67 commit 9dbad21

1 file changed

Lines changed: 16 additions & 14 deletions

File tree

.Pipelines/template-pipeline-stages.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,20 +87,22 @@ stages:
8787
versionSpec: '3.12'
8888
displayName: 'Set up Python'
8989

90-
- bash: |
91-
PARAM_VER="${{ parameters.packageVersion }}"
92-
SKU_VER=$(grep '__version__' msal/sku.py | sed 's/.*"\(.*\)".*/\1/')
93-
94-
if [ -z "$PARAM_VER" ]; then
95-
echo "##vso[task.logissue type=error]packageVersion is required. Enter the version to publish (must match msal/sku.py __version__)."
96-
exit 1
97-
elif [ "$PARAM_VER" != "$SKU_VER" ]; then
98-
echo "##vso[task.logissue type=error]Version mismatch: parameter '$PARAM_VER' != msal/sku.py '$SKU_VER'"
99-
echo "Update msal/sku.py __version__ to match the packageVersion parameter, or correct the parameter."
100-
exit 1
101-
else
102-
echo "Version validated: $PARAM_VER"
103-
fi
90+
- script: |
91+
python - <<'EOF'
92+
import sys, runpy
93+
ns = runpy.run_path("msal/sku.py")
94+
sku_ver = ns.get("__version__", "")
95+
param_ver = "${{ parameters.packageVersion }}"
96+
if not param_ver:
97+
print("##vso[task.logissue type=error]packageVersion is required. Enter the version to publish (must match msal/sku.py __version__).")
98+
sys.exit(1)
99+
elif param_ver != sku_ver:
100+
print(f"##vso[task.logissue type=error]Version mismatch: parameter '{param_ver}' != msal/sku.py '{sku_ver}'")
101+
print("Update msal/sku.py __version__ to match the packageVersion parameter, or correct the parameter.")
102+
sys.exit(1)
103+
else:
104+
print(f"Version validated: {param_ver}")
105+
EOF
104106
displayName: 'Verify version parameter matches msal/sku.py'
105107
106108
# ══════════════════════════════════════════════════════════════════════════════

0 commit comments

Comments
 (0)