Skip to content

Commit 96c0a89

Browse files
dschorimrul
andcommitted
Add a GitHub workflow to monitor component updates
Rather than using private IFTTT Applets that send mails to this maintainer whenever a new version of a Git for Windows component was released, let's use the power of GitHub workflows to make this process publicly visible. This workflow monitors the Atom/RSS feeds, and opens a ticket whenever a new version was released. Note: Bash sometimes releases multiple patched versions within a few minutes of each other (i.e. 5.1p1 through 5.1p4, 5.0p15 and 5.0p16). The MSYS2 runtime also has a similar system. We can address those patches as a group, so we shouldn't get multiple issues about them. Note further: We're not acting on newlib releases, OpenSSL alphas, Perl release candidates or non-stable Perl releases. There's no need to open issues about them. Co-authored-by: Matthias Aßhauer <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 5501b4a commit 96c0a89

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed
+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Monitor component updates
2+
3+
# Git for Windows is a slightly modified subset of MSYS2. Some of its
4+
# components are maintained by Git for Windows, others by MSYS2. To help
5+
# keeping the former up to date, this workflow monitors the Atom/RSS feeds
6+
# and opens new tickets for each new component version.
7+
8+
on:
9+
schedule:
10+
- cron: "23 8,11,14,17 * * *"
11+
workflow_dispatch:
12+
13+
env:
14+
CHARACTER_LIMIT: 5000
15+
MAX_AGE: 7d
16+
17+
jobs:
18+
job:
19+
runs-on: ubuntu-latest
20+
permissions:
21+
issues: write
22+
strategy:
23+
matrix:
24+
component:
25+
- label: git
26+
feed: https://github.com/git/git/tags.atom
27+
- label: git-lfs
28+
feed: https://github.com/git-lfs/git-lfs/tags.atom
29+
- label: gcm-core
30+
feed: https://github.com/microsoft/git-credential-manager-core/tags.atom
31+
- label: tig
32+
feed: https://github.com/jonas/tig/tags.atom
33+
- label: cygwin
34+
feed: https://github.com/cygwin/cygwin/releases.atom
35+
title-pattern: ^(?!.*newlib)
36+
- label: msys2-runtime-package
37+
feed: https://github.com/msys2/MSYS2-packages/commits/master/msys2-runtime.atom
38+
- label: msys2-runtime
39+
feed: https://github.com/msys2/msys2-runtime/commits/HEAD.atom
40+
aggregate: true
41+
- label: openssh
42+
feed: https://github.com/openssh/openssh-portable/tags.atom
43+
- label: libfido2
44+
feed: https://github.com/Yubico/libfido2/tags.atom
45+
- label: libcbor
46+
feed: https://github.com/PJK/libcbor/tags.atom
47+
- label: openssl
48+
feed: https://github.com/openssl/openssl/tags.atom
49+
title-pattern: ^(?!.*alpha)
50+
- label: gnutls
51+
feed: https://gnutls.org/news.atom
52+
- label: heimdal
53+
feed: https://github.com/heimdal/heimdal/tags.atom
54+
- label: git-sizer
55+
feed: https://github.com/github/git-sizer/tags.atom
56+
- label: gitflow
57+
feed: https://github.com/petervanderdoes/gitflow-avh/tags.atom
58+
- label: curl
59+
feed: https://github.com/curl/curl/tags.atom
60+
- label: libgpg-error
61+
feed: https://github.com/gpg/libgpg-error/releases.atom
62+
title-pattern: ^libgpg-error-[0-9\.]*$
63+
- label: libgcrypt
64+
feed: https://github.com/gpg/libgcrypt/releases.atom
65+
title-pattern: ^libgcrypt-[0-9\.]*$
66+
- label: gpg
67+
feed: https://github.com/gpg/gnupg/releases.atom
68+
- label: mintty
69+
feed: https://github.com/mintty/mintty/releases.atom
70+
- label: p7zip
71+
feed: https://sourceforge.net/projects/p7zip/rss?path=/p7zip
72+
- label: bash
73+
feed: https://git.savannah.gnu.org/cgit/bash.git/atom/?h=master
74+
aggregate: true
75+
- label: perl
76+
feed: https://github.com/Perl/perl5/tags.atom
77+
title-pattern: ^(?!.*(5\.[0-9]+[13579]|RC))
78+
- label: pcre2
79+
feed: https://github.com/PCRE2Project/pcre2/tags.atom
80+
fail-fast: false
81+
steps:
82+
- uses: git-for-windows/rss-to-issues@v0
83+
with:
84+
feed: ${{matrix.component.feed}}
85+
prefix: "[New ${{matrix.component.label}} version]"
86+
labels: component-update
87+
github-token: ${{ secrets.GITHUB_TOKEN }}
88+
character-limit: ${{ env.CHARACTER_LIMIT }}
89+
max-age: ${{ env.MAX_AGE }}
90+
aggregate: ${{matrix.component.aggregate}}
91+
title-pattern: ${{matrix.component.title-pattern}}

0 commit comments

Comments
 (0)