git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hamza Mahfooz <someguy@effective-light.com>
To: git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Carlo Marcelo Arenas Belón" <carenas@gmail.com>,
	"Andreas Schwab" <schwab@linux-m68k.org>,
	"Junio C Hamano" <gitster@pobox.com>,
	"René Scharfe" <l.s.r@web.de>,
	"Hamza Mahfooz" <someguy@effective-light.com>
Subject: [PATCH v3] ci: add a job for PCRE2
Date: Mon, 22 Nov 2021 17:29:33 -0500	[thread overview]
Message-ID: <20211122222933.11872-1-someguy@effective-light.com> (raw)

Since, git aspires to support many PCRE2 versions, it is only sensible to
test changes to git against versions of PCRE2 that are deemed to be
notable, to ensure those changes to git don't cause regressions when using
the aforementioned PCRE2 versions. This is underscored by the fact that,
commit ae39ba431a (grep/pcre2: fix an edge case concerning ascii patterns
and UTF-8 data, 2021-10-15) was able to make it's way to master while
causing an otherwise easy to catch regression when an older version of
PCRE2 is used. So, to address this issue, add a job for PCRE2 to build all
of the notable versions, compile all of them against git and only run the
tests that can possibly be impacted by PCRE2.

Suggested-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>
---
v2: use 'ref' instead of doing a manual checkout and add jobname to
    the env.

v3: make the changes suggested by Ævar.
---
 .github/workflows/main.yml | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6ed6a9e807..e30cf6155e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -319,3 +319,36 @@ jobs:
     - uses: actions/checkout@v2
     - run: ci/install-dependencies.sh
     - run: ci/test-documentation.sh
+  pcre2:
+    needs: ci-config
+    if: needs.ci-config.outputs.enabled == 'yes'
+    strategy:
+      fail-fast: false
+      matrix:
+        jit: ['--enable-jit', '--disable-jit']
+        unicode: ['--enable-unicode', '--disable-unicode']
+        version:
+        - 'pcre2-10.20'
+        - 'pcre2-10.31'
+        - 'pcre2-10.34'
+        - 'pcre2-10.36'
+        - '`git tag -l --sort=-version:refname | head -n 1`'
+    env:
+      jobname: linux-gcc-default
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+    - run: echo "VER=${{matrix.version}}" >>$GITHUB_ENV
+    - uses: actions/checkout@v2
+      with:
+        repository: 'PhilipHazel/pcre2'
+        path: 'compat/pcre2-repo'
+        ref: ${{env.VER}}
+    - run: ci/install-dependencies.sh
+    - run: |
+        cd compat/pcre2-repo &&
+        ./autogen.sh &&
+        ./configure ${{matrix.jit}} ${{matrix.unicode}} --prefix="$PWD/inst" &&
+        make install
+    - run: make USE_LIBPCRE=Y LIBPCREDIR="$PWD/compat/pcre2-repo/inst"
+    - run: cd t && make *{grep,log,pickaxe}*
-- 
2.34.0


                 reply	other threads:[~2021-11-22 22:29 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211122222933.11872-1-someguy@effective-light.com \
    --to=someguy@effective-light.com \
    --cc=avarab@gmail.com \
    --cc=carenas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=l.s.r@web.de \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).