@@ -490,3 +490,43 @@ jobs:
490490 release/openshell-aarch64-apple-darwin.tar.gz
491491 release/*.whl
492492 release/openshell-checksums-sha256.txt
493+
494+ trigger-wheel-publish :
495+ name : Trigger Wheel Publish
496+ needs : [compute-versions, release]
497+ runs-on : [self-hosted, nv]
498+ timeout-minutes : 10
499+ steps :
500+ - name : Download wheel artifacts
501+ uses : actions/download-artifact@v4
502+ with :
503+ name : python-wheels
504+ path : release/
505+
506+ - name : Trigger GitLab CI
507+ env :
508+ GITLAB_CI_TRIGGER_TOKEN : ${{ secrets.GITLAB_CI_TRIGGER_TOKEN }}
509+ GITLAB_CI_TRIGGER_URL : ${{ secrets.GITLAB_CI_TRIGGER_URL }}
510+ RELEASE_VERSION : ${{ needs.compute-versions.outputs.python_version }}
511+ RELEASE_TAG : ${{ env.RELEASE_TAG }}
512+ run : |
513+ set -euo pipefail
514+ shopt -s nullglob
515+ wheel_files=(release/*.whl)
516+ if (( ${#wheel_files[@]} == 0 )); then
517+ echo "No wheel artifacts found in release/" >&2
518+ exit 1
519+ fi
520+
521+ WHEEL_FILENAMES=$(printf '%s\n' "${wheel_files[@]##*/}" | paste -sd, -)
522+ curl -X POST \
523+ --fail \
524+ -F "token=${GITLAB_CI_TRIGGER_TOKEN}" \
525+ -F "ref=main" \
526+ -F "variables[PIPELINE_ACTION]=publish_wheels" \
527+ -F "variables[GITHUB_REPOSITORY]=${GITHUB_REPOSITORY}" \
528+ -F "variables[RELEASE_TAG]=${RELEASE_TAG}" \
529+ -F "variables[RELEASE_VERSION]=${RELEASE_VERSION}" \
530+ -F "variables[RELEASE_KIND]=stable" \
531+ -F "variables[WHEEL_FILENAMES]=${WHEEL_FILENAMES}" \
532+ "${GITLAB_CI_TRIGGER_URL}"
0 commit comments