All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] ci: add a job for PCRE2
@ 2021-11-22 22:29 Hamza Mahfooz
  0 siblings, 0 replies; only message in thread
From: Hamza Mahfooz @ 2021-11-22 22:29 UTC (permalink / raw)
  To: git
  Cc: Ævar Arnfjörð Bjarmason,
	Carlo Marcelo Arenas Belón, Andreas Schwab, Junio C Hamano,
	René Scharfe, Hamza Mahfooz

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


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-22 22:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-22 22:29 [PATCH v3] ci: add a job for PCRE2 Hamza Mahfooz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.