-
Notifications
You must be signed in to change notification settings - Fork 4
Allow initializing the Git notes required by GitGitGadget #14
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
13
commits into
main
Choose a base branch
from
initialize-git-notes
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
In the upcoming work to support a project other than Git, we will need to synchronize a different upstream repository to a different "PR repository". To that end, let's consolidate `sync-git-gui` and `sync-gitster-git` into a single, matrix workflow that will continue to synchronize the Git GUI and the fine-grained branches from `gitster/git` to `gitgitgadget/git`, but can be overridden in another fork of `gitgitgadget-workflows` via a repository variable that contains the project config to perform the equivalent job of synchronizing upstream branches into the repository where GitGitGadget handles the Pull Requests for said project. This is step 1 to support that: renaming the `sync-git-gui` workflow to `sync-upstream-branches`. Subsequent commits will transmogrify that workflow into the desired shape. Signed-off-by: Johannes Schindelin <[email protected]>
The workflow still only handles the `git-gui` branches, but is now almost generic enough to become a matrix workflow that also handles the `gitster/git` synchronization. Signed-off-by: Johannes Schindelin <[email protected]>
This still does the exact same thing, but avoids storing intermediate states of the `data` array's transformation. Signed-off-by: Johannes Schindelin <[email protected]>
…orkflow With a few touch-ups, the workflow can become generic enough to handle also the synchronization of `gitster/git`'s branches to `gitgitgadget/git`. The overall goal, of course, is to prepare for supporting projects other than Git, via configurations stored in repository variables. That's the task of the next commit(s). Signed-off-by: Johannes Schindelin <[email protected]>
I want to use the same workflow in a fork to synchronize _Cygwin's_ mailing list mirror; Let's rename the workflow and its job so that it stops claiming to synchronize _Git's_ mailing list mirror. Signed-off-by: Johannes Schindelin <[email protected]>
Rather than hard-coding the exact minutes at which the workflow should run, just specify that it should run every five minutes, and leave it to GitHub to figure out the specifics. Signed-off-by: Johannes Schindelin <[email protected]>
The grand idea to use GitGitGadget for projects other than Git is to allow configuring it via a custom JSON that is stored as a repository variable. Let's do this. Signed-off-by: Johannes Schindelin <[email protected]>
The grand idea to use GitGitGadget for projects other than Git is to allow configuring it via a custom JSON that is stored as a repository variable. Let's do this. Signed-off-by: Johannes Schindelin <[email protected]>
… Actions The GitHub Actions of GitGitGadget just learned the trick to accept the project configuration as an input parameter. The idea is to store this configuration in the repository variable called `CONFIG`. Here is the code change to make use of this repository variable. Obviously, this means that the workflows should no longer run in forks without said configuration. For details about configuring GitGitGadget to support projects other than Git, see TBD. Signed-off-by: Johannes Schindelin <[email protected]>
With my current push to let GitGitGadget work for other projects than Git, it is no longer appropriate to refer to the `git` repository forks directly. Signed-off-by: Johannes Schindelin <[email protected]>
We just started to pass the project-specific configuration stored in the `CONFIG` repository variable to the GitHub Actions of GitGitGadget. That configuration contains information about the correct repositories to target (which might not be `gitgitgadget/git` and friends). Let's use this information when obtaining (and using) the installation access tokens. This is especially necessary when creating and updating that Check Run in `handle-pr-push` and in `handle-pr-comment`. Signed-off-by: Johannes Schindelin <[email protected]>
These should be taken from the project config which is now expected to be present as the `CONFIG` repository variable. Signed-off-by: Johannes Schindelin <[email protected]>
So far, GitGitGadget has supported one project, and one single project only: the Git project. But the Git project is far from the only one that prides itself by doing patch review on a mailing list. To allow GitGitGadget's convenience of PRs being sent to mailing lists to benefit other projects, too, here is a workflow that will have to be triggered to initialize the prerequisite Git notes in the `pr-repo`. For details about setting up GitGitGadget to support a project other than Git, see TBD. Signed-off-by: Johannes Schindelin <[email protected]>
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.
To support projects other than Git, the idea is to:
upstream-repo
) into a new org where PRs can be handled by GitGitGadget (pr-repo
)public-inbox
repository (if the upstream project does not maintain one themselves, this will have to be maintained in addition to the GitGitGadget instance)gitgitgadget-workflows
into the same, new orgCONFIG
repository variable (using the original project settings as template)gitgitgadget-github-app
into the same, new orggitgitgadget-github-app
fork to that Azure FunctionI went through these motions, targeting the Cygwin project, and successfully
/submit
ed the first patch that way.This PR is stacked on top of #13 and requires gitgitgadget/gitgitgadget#1995 to be merged first.