-
Notifications
You must be signed in to change notification settings - Fork 1
Trigger GitHub workflows instead of Azure Pipelines #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
dscho
wants to merge
9
commits into
main
Choose a base branch
from
migrate-gitgitgadget-to-github-actions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
Otherwise it's a bit tricky to see what is happening... Signed-off-by: Johannes Schindelin <[email protected]>
It is bad practice, and for good reason: It makes it hard to verify things when the same, mocked function is called _multiple_ times inside the same test case, and with different parameters that need to be verified, too. Signed-off-by: Johannes Schindelin <[email protected]>
This function will be used to determine whether a workflow run is already queued, to prevent concurrent runs of the upcoming GitHub workflows that replace GitGitGadget's Azure Pipelines. Signed-off-by: Johannes Schindelin <[email protected]>
This is easier to read, and it will make similar calls that I am about to introduce also easier to read. Signed-off-by: Johannes Schindelin <[email protected]>
This is part of my ongoing effort to replace GitGitGadget's Azure Pipelines by GitHub workflows. Currently, the Azure Pipelines have the upstream Git repository as "source" (even if they don't check that out), i.e. Azure Pipelines poll for changes. In GitHub workflows, such a thing is no longer possible: There is no way to trigger a GitHub workflow on updates in _another_ repository than the workflow definition resides (a rather vexing limitation of GitHub Actions' architecture, to be sure). In this instance, we can avoid resorting to the ugly, ugly, yet all-too-common workaround of polling (which we do in `sync-git-mailing-list-mirror`) but can at least react to the respective webhook event (at least we _can_, what with the `gitgitgadget-git` app being installed on `git/git`). Signed-off-by: Johannes Schindelin <[email protected]>
GitGitGadget maintains a mirror of the Git mailing list at https://github.com/gitgitgadget/git-mailing-list-mirror/, synchronizing it via the `sync-git-mailing-list-mirror` workflow. As a side effect of having installed the `gitgitgadget` GitHub App on that repository (so that the workflow can push updates), GitGitGadget's App also receives webhook events from that repository. Let's put that fact to good use by triggering the new `handle-new-mails` GitHub workflow that wants to replace GitGitGadget's "Mirror Git List to GitGitGadget's PRs" Azure Pipeline at https://dev.azure.com/gitgitgadget/git/_build?definitionId=5 (which polled the upstream Git mailing list repository). Signed-off-by: Johannes Schindelin <[email protected]>
This _almost_ retires these Azure Pipelines: - GitGitGadget PR Handler https://dev.azure.com/gitgitgadget/git/_build?definitionId=3 - GitGitGadget PR Handler (git) https://dev.azure.com/gitgitgadget/git/_build?definitionId=13 - GitGitGadget PR Handler (dscho) https://dev.azure.com/gitgitgadget/git/_build?definitionId=12 The remaining responsibility of those Pipelines is to handle PR _pushes_, which I will address in the next commit. Signed-off-by: Johannes Schindelin <[email protected]>
This is the final bit of the migration from GitGitGadget's Azure Pipelines to GitHub workflows. Signed-off-by: Johannes Schindelin <[email protected]>
We no longer trigger any Azure Pipeline. Signed-off-by: Johannes Schindelin <[email protected]>
I have finished reviewing. |
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.
This PR is part 6 (the final act) of addressing gitgitgadget/gitgitgadget#609, and it is stacked on top of gitgitgadget/gitgitgadget#1980, gitgitgadget/gitgitgadget#1981, gitgitgadget/gitgitgadget#1982, gitgitgadget/gitgitgadget#1983, and gitgitgadget-workflows/gitgitgadget-workflows#1, therefore I will leave this in draft mode until those PRs are merged.
The overall structure of this PR:
handle-pr-comment
GitHub workflow instead,handle-pr-push
GitHub workflow upon PR pushes, andThis concludes the really, really long journey from GitGitGadget's original Azure Pipelines-based architecture to the new GitHub Actions-based one. This closes gitgitgadget/gitgitgadget#609.