88 required : false
99 default : ' 300'
1010 timeout_attempts :
11- description : ' Max poll attempts per package before failing (default: 60 = 5hrs at 300s)'
11+ description : ' Max poll attempts per package before failing (default: 20 = 100min at 300s)'
1212 required : false
13- default : ' 60 '
13+ default : ' 20 '
1414
1515jobs :
1616 read-versions :
@@ -33,85 +33,90 @@ jobs:
3333 echo "mlops=$(cat sagemaker-mlops/VERSION)" >> $GITHUB_OUTPUT
3434 echo "pysdk=$(cat VERSION)" >> $GITHUB_OUTPUT
3535 echo "meta=$(cat VERSION)" >> $GITHUB_OUTPUT
36- cat sagemaker-core/VERSION sagemaker-train/VERSION sagemaker-serve/VERSION \
37- sagemaker-mlops/VERSION VERSION | paste - - - - - \
38- | awk '{print "core="$1" train="$2" serve="$3" mlops="$4" pysdk/meta="$5}'
39-
40- wait-sagemaker-core :
41- needs : read-versions
42- runs-on : ubuntu-latest
43- env :
44- GH_TOKEN : ${{ secrets.GH_PAT }}
45- steps :
46- - name : Wait for sagemaker-core to merge (automerges on its own)
47- run : |
48- REPO="conda-forge/sagemaker-core-feedstock"
49- SEARCH="[bot-automerge] sagemaker-core v${{ needs.read-versions.outputs.core }}"
50- for i in $(seq 1 ${{ github.event.inputs.timeout_attempts }}); do
51- STATE=$(gh pr list --repo "$REPO" --state all \
52- --search "$SEARCH" --json state -q '.[0].state // "NOT_FOUND"')
53- echo "Attempt $i: ${STATE}"
54- [ "$STATE" = "MERGED" ] && exit 0
55- sleep ${{ github.event.inputs.poll_interval_seconds }}
56- done
57- echo "Timed out." && exit 1
36+ echo "Versions:"
37+ echo " sagemaker-core: $(cat sagemaker-core/VERSION)"
38+ echo " sagemaker-train: $(cat sagemaker-train/VERSION)"
39+ echo " sagemaker-serve: $(cat sagemaker-serve/VERSION)"
40+ echo " sagemaker-mlops: $(cat sagemaker-mlops/VERSION)"
41+ echo " sagemaker-python-sdk: $(cat VERSION)"
42+ echo " sagemaker (meta): $(cat VERSION)"
5843
44+ # sagemaker-train waits for sagemaker-core
5945 release-sagemaker-train :
60- needs : [ read-versions, wait-sagemaker-core]
46+ needs : read-versions
6147 uses : ./.github/workflows/_conda-forge-package-release.yml
6248 with :
6349 package : sagemaker-train
6450 feedstock : conda-forge/sagemaker-train-feedstock
6551 pr_search : " sagemaker-train v${{ needs.read-versions.outputs.train }}"
52+ version : ${{ needs.read-versions.outputs.train }}
53+ dep_package : sagemaker-core
54+ dep_version : ${{ needs.read-versions.outputs.core }}
6655 poll_interval : ${{ github.event.inputs.poll_interval_seconds }}
6756 max_attempts : ${{ github.event.inputs.timeout_attempts }}
6857 secrets :
69- token : ${{ secrets.GH_PAT }}
58+ token : ${{ secrets.CONDA_FORGE_RELEASE }}
7059
60+ # sagemaker-serve waits for sagemaker-train
7161 release-sagemaker-serve :
7262 needs : [read-versions, release-sagemaker-train]
7363 uses : ./.github/workflows/_conda-forge-package-release.yml
7464 with :
7565 package : sagemaker-serve
7666 feedstock : conda-forge/sagemaker-serve-feedstock
7767 pr_search : " sagemaker-serve v${{ needs.read-versions.outputs.serve }}"
68+ version : ${{ needs.read-versions.outputs.serve }}
69+ dep_package : sagemaker-train
70+ dep_version : ${{ needs.read-versions.outputs.train }}
7871 poll_interval : ${{ github.event.inputs.poll_interval_seconds }}
7972 max_attempts : ${{ github.event.inputs.timeout_attempts }}
8073 secrets :
81- token : ${{ secrets.GH_PAT }}
74+ token : ${{ secrets.CONDA_FORGE_RELEASE }}
8275
76+ # sagemaker-mlops waits for sagemaker-serve
8377 release-sagemaker-mlops :
8478 needs : [read-versions, release-sagemaker-serve]
8579 uses : ./.github/workflows/_conda-forge-package-release.yml
8680 with :
8781 package : sagemaker-mlops
8882 feedstock : conda-forge/sagemaker-mlops-feedstock
8983 pr_search : " sagemaker-mlops v${{ needs.read-versions.outputs.mlops }}"
84+ version : ${{ needs.read-versions.outputs.mlops }}
85+ dep_package : sagemaker-serve
86+ dep_version : ${{ needs.read-versions.outputs.serve }}
9087 poll_interval : ${{ github.event.inputs.poll_interval_seconds }}
9188 max_attempts : ${{ github.event.inputs.timeout_attempts }}
9289 secrets :
93- token : ${{ secrets.GH_PAT }}
90+ token : ${{ secrets.CONDA_FORGE_RELEASE }}
9491
92+ # sagemaker-python-sdk waits for sagemaker-mlops
9593 release-sagemaker-python-sdk :
9694 needs : [read-versions, release-sagemaker-mlops]
9795 uses : ./.github/workflows/_conda-forge-package-release.yml
9896 with :
9997 package : sagemaker-python-sdk
10098 feedstock : conda-forge/sagemaker-python-sdk-feedstock
10199 pr_search : " [bot-automerge] sagemaker-python-sdk v${{ needs.read-versions.outputs.pysdk }}"
100+ version : ${{ needs.read-versions.outputs.pysdk }}
101+ dep_package : sagemaker-mlops
102+ dep_version : ${{ needs.read-versions.outputs.mlops }}
102103 poll_interval : ${{ github.event.inputs.poll_interval_seconds }}
103104 max_attempts : ${{ github.event.inputs.timeout_attempts }}
104105 secrets :
105- token : ${{ secrets.GH_PAT }}
106+ token : ${{ secrets.CONDA_FORGE_RELEASE }}
106107
108+ # sagemaker (meta) waits for sagemaker-python-sdk
107109 release-sagemaker :
108110 needs : [read-versions, release-sagemaker-python-sdk]
109111 uses : ./.github/workflows/_conda-forge-package-release.yml
110112 with :
111113 package : sagemaker
112114 feedstock : conda-forge/sagemaker-feedstock
113115 pr_search : " [bot-automerge] sagemaker v${{ needs.read-versions.outputs.meta }}"
116+ version : ${{ needs.read-versions.outputs.meta }}
117+ dep_package : sagemaker-python-sdk
118+ dep_version : ${{ needs.read-versions.outputs.pysdk }}
114119 poll_interval : ${{ github.event.inputs.poll_interval_seconds }}
115120 max_attempts : ${{ github.event.inputs.timeout_attempts }}
116121 secrets :
117- token : ${{ secrets.GH_PAT }}
122+ token : ${{ secrets.CONDA_FORGE_RELEASE }}
0 commit comments