Skip to content

Commit 135f5aa

Browse files
committed
The main aim is to pull the workflow that keeps that mirror up to date into the `gitgitgadget-workflows` org, so that the concurrency limits of the `gitgitgadget` org (which the "interesting" practice of frequently pushing gazillions of branches at the same time stresses it to its seams) cannot prevent the mailing list mirror from being updated. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2 parents 289825b + 1b0757f commit 135f5aa

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

.github/workflows/sync.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: sync
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "2,7,12,17,22,27,32,37,42,47,52,57 * * * *"
7+
push:
8+
branches: [ sync ]
9+
10+
env:
11+
LORE_EPOCH: 1
12+
13+
concurrency: sync
14+
15+
jobs:
16+
repo-sync:
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: write
20+
steps:
21+
- name: Partial clone
22+
run: |
23+
git clone --bare --depth=1 -b lore-$LORE_EPOCH --filter=blob:none https://github.com/$GITHUB_REPOSITORY .
24+
- name: Update from lore.kernel.org
25+
run: |
26+
git fetch https://lore.kernel.org/git/$LORE_EPOCH refs/heads/master:refs/heads/lore-$LORE_EPOCH
27+
- name: Push to mirror
28+
env:
29+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
run: |
31+
git push https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY lore-$LORE_EPOCH

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1-
# workflow-runner
1+
# GitGitGadget workflows
2+
3+
This repository contains GitHub workflows, i.e. automated tasks, that keep [GitGitGadget](https://gitgitgadget.github.io/) running.
4+
5+
## Keeping the mirror of the Git mailing list up to date
6+
7+
The `sync-git-mailing-list.yml` workflow keeps the mirror at https://github.com/gitgitgadget/git-mailing-list of the Git mailing list mirror at https://lore.kernel.org/git up to date. Since that mirror chunks the archive by epochs, this mirror fetches each epoch into its own branch: the oldest epoch into `lore-0`, the next one into `lore-1`, etc.
8+
9+
Previously, this workflow lived in the `git-mailing-list` repository in the `sync` branch, which was the default branch because scheduled workflows _must_ live in the default branch.

0 commit comments

Comments
 (0)