Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Publish the GitHub Actions to a separate branch#1983

Merged
dscho merged 1 commit intomaingitgitgadget/gitgitgadget:mainfrom
publish-github-actionsgitgitgadget/gitgitgadget:publish-github-actionsCopy head branch name to clipboard
Aug 27, 2025
Merged

Publish the GitHub Actions to a separate branch#1983
dscho merged 1 commit intomaingitgitgadget/gitgitgadget:mainfrom
publish-github-actionsgitgitgadget/gitgitgadget:publish-github-actionsCopy head branch name to clipboard

Conversation

@dscho
Copy link
Member

@dscho dscho commented Aug 20, 2025

This PR is part 4 (the final part in this repository) of addressing #609, and it is stacked on top of #1980, #1981, and #1982 (and therefore contains also the commits of those PRs), therefore I will leave this in draft mode until those PRs are merged.

After laying the groundwork for, and implementing, the set of GitHub Actions that can perform the same job as GitGitGadget's current Azure Pipelines can perform, this here PR adds automation to

  1. transpile the CIHelper class (together with its dependencies) from Typescript to JavaScript,
  2. bundle it as a single, dependency-less dist/index.js,
  3. copy the required resources (WELCOME.md, some shell scripts) into the location expected by that dist/index.js,
  4. remove all the rest except for the minimal GitHub Actions (*/action.yml, */index.js),
  5. commit the result as the new tip commit of the v1 branch (creating it as needed),
  6. tag that tip commit as v1.<running-number>,
  7. push out the v1 branch and the tag.

The result of this is that GitGitGadget can still be developed conveniently in this here repository, and whenever anything gets merged to the main branch, the v1 branch is automatically updated so that it will be picked up by GitHub workflows containing statements like:

- uses: gitgitgadget/gitgitgadget/handle-pr-comment@v1

That way, we finally address the fragile nature of the current setup where a set of Azure Pipelines maintain their own clone of gitgitgadget/gitgitgadget, and having to run npm ci && npm run build as needed.

This closes #1759

@webstech
Copy link
Contributor

I have finished reviewing. Not entirely sure about the inclusion in the same repo but it keeps the dist build tied to the source.

@dscho dscho force-pushed the publish-github-actions branch from ac31502 to 28f50c4 Compare August 26, 2025 13:30
@dscho dscho changed the base branch from main to dependabot/npm_and_yarn/eslint-9.34.0 August 26, 2025 13:56
@dscho dscho changed the base branch from dependabot/npm_and_yarn/eslint-9.34.0 to main August 26, 2025 13:56
@dscho
Copy link
Member Author

dscho commented Aug 26, 2025

Sorry for changing the base branch and then changing it back again; This was needed because GitHub still fails to handle stacked PRs incorrectly when a PR in the stack is merged (the dependent PRs will still show the now-already-merged commits as part of the PR, unless a stunt like changing the base branch away and back again is performed).

@dscho dscho marked this pull request as ready for review August 26, 2025 14:00
.github/workflows/push-github-actions.yml Show resolved Hide resolved
We converted GitGitGadget into a bunch of GitHub Actions. The core logic
of these is implemented in Typescript, which means that the code needs
to be transpiled and bundled before it can be used as GitHub Action.

This new workflow does exactly that. It maintains a new branch, called
`v1`, and incremental tags of the `v1` tip commits, that are updated
whenever the `main` branch advances. The updates consist of merging in
`main`'s commit history, but the actual tree contents reflect the
transpiled output, ready to be called as a GitHub Action from GitHub
workflows.

To reduce bandwidth when using the Action, all source code is removed
from these tip commits, except for the few resources (`WELCOME.md` and
two shell scripts) that are moved into the location where they need to
be in order to be picked up by the GitHub Actions whenever needed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho dscho force-pushed the publish-github-actions branch from 28f50c4 to c05d284 Compare August 27, 2025 08:03
@dscho dscho merged commit 2a18804 into main Aug 27, 2025
6 checks passed
@dscho dscho deleted the publish-github-actions branch August 27, 2025 17:57
github-actions bot pushed a commit that referenced this pull request Aug 27, 2025
github-actions bot pushed a commit to Bassamx93/gitgitgadget that referenced this pull request Aug 27, 2025
…itgadget/publish-github-actions, 2025-08-27))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider a continuous release "branch"

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.