From adbe11d9c9f57d107ac70d70e449a4b27a2d5a80 Mon Sep 17 00:00:00 2001 From: Yellowcooln <12516003+yellowcooln@users.noreply.github.com> Date: Thu, 21 May 2026 13:24:39 -0400 Subject: [PATCH 1/2] ci: trigger repeater docker rebuilds from core --- .../trigger-repeater-docker-rebuild.yml | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/trigger-repeater-docker-rebuild.yml diff --git a/.github/workflows/trigger-repeater-docker-rebuild.yml b/.github/workflows/trigger-repeater-docker-rebuild.yml new file mode 100644 index 0000000..afa8d1b --- /dev/null +++ b/.github/workflows/trigger-repeater-docker-rebuild.yml @@ -0,0 +1,76 @@ +name: Trigger Repeater Docker Rebuild + +on: + push: + branches: + - main + - dev + workflow_dispatch: + inputs: + repeater_repository: + description: "Repository to dispatch the repeater image rebuild to" + required: false + default: "" + +permissions: + contents: read + +jobs: + dispatch: + if: | + github.repository == 'pyMC-dev/pyMC_core' || + github.repository == 'rightup/pyMC_core' || + github.repository == 'yellowcooln/pyMC_core' + runs-on: ubuntu-latest + + steps: + - name: Determine dispatch target + id: target + shell: bash + env: + INPUT_REPEATER_REPOSITORY: ${{ inputs.repeater_repository }} + run: | + set -euo pipefail + + channel="${GITHUB_REF_NAME}" + case "${channel}" in + main|dev) ;; + *) + echo "Unsupported core channel: ${channel}" >&2 + exit 1 + ;; + esac + + if [ -n "${INPUT_REPEATER_REPOSITORY}" ]; then + repeater_repository="${INPUT_REPEATER_REPOSITORY}" + elif [ "${GITHUB_REPOSITORY}" = "yellowcooln/pyMC_core" ]; then + repeater_repository="yellowcooln/pyMC_Repeater" + else + repeater_repository="pyMC-dev/pyMC_Repeater" + fi + + echo "channel=${channel}" >> "$GITHUB_OUTPUT" + echo "repeater_repository=${repeater_repository}" >> "$GITHUB_OUTPUT" + + - name: Trigger repeater image rebuild + env: + DISPATCH_TOKEN: ${{ secrets.REPEATER_REPO_DISPATCH_TOKEN }} + REPEATER_REPOSITORY: ${{ steps.target.outputs.repeater_repository }} + CHANNEL: ${{ steps.target.outputs.channel }} + CORE_SHA: ${{ github.sha }} + SOURCE_REPOSITORY: ${{ github.repository }} + SOURCE_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + run: | + set -euo pipefail + + if [ -z "${DISPATCH_TOKEN}" ]; then + echo "REPEATER_REPO_DISPATCH_TOKEN is not set" >&2 + exit 1 + fi + + curl -fsSL \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${DISPATCH_TOKEN}" \ + "https://api.github.com/repos/${REPEATER_REPOSITORY}/dispatches" \ + -d "{\"event_type\":\"rebuild-from-core\",\"client_payload\":{\"channel\":\"${CHANNEL}\",\"core_ref\":\"${CHANNEL}\",\"core_sha\":\"${CORE_SHA}\",\"source_repository\":\"${SOURCE_REPOSITORY}\",\"source_run_url\":\"${SOURCE_RUN_URL}\"}}" From 4222e0664e1a9c5344343d8c032c07b90182b9c3 Mon Sep 17 00:00:00 2001 From: Yellowcooln <12516003+yellowcooln@users.noreply.github.com> Date: Thu, 21 May 2026 13:29:24 -0400 Subject: [PATCH 2/2] ci: drop legacy core repo guards --- .github/workflows/trigger-repeater-docker-rebuild.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/trigger-repeater-docker-rebuild.yml b/.github/workflows/trigger-repeater-docker-rebuild.yml index afa8d1b..5e809f3 100644 --- a/.github/workflows/trigger-repeater-docker-rebuild.yml +++ b/.github/workflows/trigger-repeater-docker-rebuild.yml @@ -19,7 +19,6 @@ jobs: dispatch: if: | github.repository == 'pyMC-dev/pyMC_core' || - github.repository == 'rightup/pyMC_core' || github.repository == 'yellowcooln/pyMC_core' runs-on: ubuntu-latest