From 4bca111ea51554672a407dc502573f75519fe7df Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 29 Sep 2020 13:50:59 +0200 Subject: [PATCH] Add a GitHub workflow to monitor component updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Johannes Schindelin --- .github/workflows/monitor-components.yml | 77 ++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 .github/workflows/monitor-components.yml diff --git a/.github/workflows/monitor-components.yml b/.github/workflows/monitor-components.yml new file mode 100644 index 0000000000..1bbfc3daf5 --- /dev/null +++ b/.github/workflows/monitor-components.yml @@ -0,0 +1,77 @@ +name: Monitor component updates + +# Git for Windows is a slightly modified subset of MSYS2. Some of its +# components are maintained by Git for Windows, others by MSYS2. To help +# keeping the former up to date, this workflow monitors the Atom/RSS feeds +# and opens new tickets for each new component version. + +on: + schedule: + - cron: "23 8,11,14,17 * * *" + workflow_dispatch: + +env: + CHARACTER_LIMIT: "5000" + LAST_TIME: "48h" + +jobs: + job: + runs-on: ubuntu-latest + strategy: + matrix: + component: + - label: git + feed: https://github.com/git/git/tags.atom + - label: git-lfs + feed: https://github.com/git-lfs/git-lfs/tags.atom + - label: gcm-core + feed: https://github.com/microsoft/git-credential-manager-core/tags.atom + - label: tig + feed: https://github.com/jonas/tig/tags.atom + - label: cygwin + feed: https://github.com/cygwin/cygwin/releases.atom + titleFilter: newlib + - label: msys2-runtime-package + feed: https://github.com/msys2/MSYS2-packages/commits/master/msys2-runtime.atom + - label: msys2-runtime + feed: https://github.com/msys2/msys2-runtime/commits/HEAD.atom + aggregate: true + - label: openssh + feed: https://github.com/openssh/openssh-portable/tags.atom + - label: openssl + feed: https://github.com/openssl/openssl/tags.atom + titleFilter: alpha + - label: gnutls + feed: https://gnutls.org/news.atom + - label: heimdal + feed: https://github.com/heimdal/heimdal/tags.atom + - label: git-sizer + feed: https://github.com/github/git-sizer/tags.atom + - label: gitflow + feed: https://github.com/petervanderdoes/gitflow-avh/tags.atom + - label: curl + feed: https://github.com/curl/curl/tags.atom + - label: gpg + feed: https://github.com/gpg/gnupg/releases.atom + - label: mintty + feed: https://github.com/mintty/mintty/releases.atom + - label: p7zip + feed: https://sourceforge.net/projects/p7zip/rss?path=/p7zip + - label: bash + feed: https://git.savannah.gnu.org/cgit/bash.git/atom/?h=master + aggregate: true + - label: perl + feed: https://github.com/Perl/perl5/tags.atom + titleFilter: (5\.[0-9]+[13579])|(RC) + fail-fast: false + steps: + - uses: guilhem/rss-issues-action@cadba1e05ad93613180979261b7e05cee1a9b282 + with: + feed: ${{matrix.component.feed}} + prefix: "[New ${{matrix.component.label}} version]" + labels: component-update + repo-token: ${{ secrets.GITHUB_TOKEN }} + characterLimit: ${{ env.CHARACTER_LIMIT }} + lastTime: ${{ env.LAST_TIME }} + aggregate: ${{matrix.component.aggregate}} + titleFilter: ${{matrix.component.titleFilter}}