ci: trigger repeater docker rebuilds when core changes#75
Open
yellowcooln wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Summary
This PR adds a GitHub Actions workflow to
pyMC_corethat automatically triggers apyMC_RepeaterDocker image rebuild wheneverpyMC_coremainordevchanges.The goal is to keep published repeater images aligned with the current core branch automatically, without requiring manual rebuilds every time
pyMC_coreadvances.What It Does
The new workflow runs on:
maindevworkflow_dispatchWhen triggered, it:
Determines the current channel from the branch name (
mainordev)Selects the repeater repository to notify:
pyMC-dev/pyMC_RepeaterSends a
repository_dispatchevent to the repeater repoIncludes:
channelcore_refcore_shaThis allows the repeater repo’s Docker publish workflow to rebuild the matching image channel using the exact current core commit.
Why This Is Needed
pyMC_RepeaterDocker images bundlepyMC_core, but repeater images are only rebuilt when repeater CI itself runs.Without this workflow:
pyMC_corecan move forwardThis workflow closes that gap by proactively triggering repeater rebuilds whenever core changes.
File Added
.github/workflows/trigger-repeater-docker-rebuild.ymlBehavior
devcore changes trigger repeaterdevrebuildsmaincore changes trigger repeatermainrebuildsRequired Secret
This workflow requires a repository secret in the
pyMC_corerepo:REPEATER_REPO_DISPATCH_TOKENThe token is used to call:
Token Permissions
Recommended
Use a fine-grained GitHub Personal Access Token.
Minimum Access
Repository access to the target repeater repo with:
Actions:
Contents:
Classic PAT Alternative
If using a classic PAT instead:
reposcope is typically sufficientCreating the Token
On the GitHub account that owns or has access to the target repeater repo:
Open GitHub Settings
Go to:
Open:
Create:
Select the target repeater repo:
pyMC-dev/pyMC_RepeaterGrant the required permissions
Copy the token
Add it to the
pyMC_corerepo as:REPEATER_REPO_DISPATCH_TOKENPath:
Important Note
This workflow only sends the dispatch event.
The repeater repo must already contain the matching
repository_dispatchhandler workflow on its default branch, otherwise no rebuild will occur.The full chain requires:
repository_dispatchREPEATER_REPO_DISPATCH_TOKENconfigured inpyMC_coreResult
Once both sides are merged and the secret is configured:
pyMC_core/devautomatically rebuilds repeaterdevpyMC_core/mainautomatically rebuilds repeatermain