git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 2/2] ci: add a job for PCRE2

From
Hamza Mahfooz <someguy@effective-light.com>
Date
Nov 18, 2021, 09:53 UTC
Message-ID
<20211118095331.282468-1-someguy@effective-light.com>
In-Reply-To
<20211118084143.279174-2-someguy@effective-light.com>

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.
---
 .github/workflows/main.yml | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6ed6a9e807..6d8906139d 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -319,3 +319,31 @@ 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']
+        utf: ['--enable-utf', '--disable-utf']
+        version: [31, 34, 36, 39]
+    env:
+      jobname: linux-gcc-default
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/checkout@v2
+      with:
+        repository: 'PhilipHazel/pcre2'
+        path: 'compat/pcre2-repo'
+        ref: pcre2-10.${{matrix.version}}
+    - run: ci/install-dependencies.sh
+    - run: cd compat/pcre2-repo
+    - run: ./autogen.sh
+    - run: ./configure ${{matrix.jit}} ${{matrix.utf}} --prefix="$PWD/inst"
+    - run: make
+    - run: sudo make install
+    - run: cd ../..
+    - run: make USE_LIBPCRE=Y CFLAGS=-O3 LIBPCREDIR="$PWD/compat/pcre2-repo/inst"
+    - run: cd t && make *{grep,log,pickaxe}*
-- 
2.34.0
Previous: Hamza MahfoozNext: Ævar Arnfjörð Bjarmason
Message 3 of 8 in “grep/pcre2: limit the instances in which UTF mode is enabled”
  1. 1/2 grep/pcre2: limit the instances in which UTF mode is enabledHamza Mahfooz, Nov 18, 2021
  2. 2/2 ci: add a job for PCRE2Hamza Mahfooz, Nov 18, 2021
  3. 2/2 ci: add a job for PCRE2Hamza Mahfooz, Nov 18, 2021
  4. Ævar Arnfjörð BjarmasonNov 18, 2021
  5. Hamza MahfoozNov 22, 2021
  6. Carlo ArenasNov 18, 2021
  7. Carlo Marcelo Arenas BelónNov 18, 2021
  8. Junio C HamanoNov 18, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.