pcre2test: improve expand
and its use of buffers
#144
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Sync | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ master, "release/**" ] | |
pull_request: | |
branches: [ master ] | |
permissions: | |
contents: read | |
jobs: | |
sync-autogenerated: | |
# Job to verify that the tasks performed by UpdateAlways have been done. It is | |
# the committer's responsibility (currently) to run UpdateAlways themselves when | |
# making a PR, so that everything is kept in-sync. | |
name: Check autogenerated file freshness | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
submodules: false | |
fetch-depth: 0 # Necessary for maint/UpdateAlways | |
fetch-tags: false | |
# Check out the unmerged source branch for `pull_request`-triggered runs; | |
# otherwise use the tip of the branch for `workflow_dispatch` and `pull` triggers. | |
ref: ${{ github.event.pull_request.head.ref || github.ref }} | |
repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }} | |
- name: UpdateDates | |
if: | | |
github.event_name != 'pull_request' && | |
(startsWith(github.ref, 'refs/heads/release/') || | |
startsWith(github.ref, 'refs/tags/pcre2-')) | |
run: maint/UpdateDates.py | |
- name: UpdateAlways | |
run: maint/UpdateAlways | |
- name: 'Rebuild *.h.generic' | |
run: | | |
./autogen.sh && ./configure | |
# Workaround for incorrect filesystem permissions on /usr/share/aclocal, which | |
# causes the m4 macros to be copied with incorrect permissions. | |
# https://github.com/actions/runner-images/issues/11212 | |
chmod u=rw,go=r m4/*.m4 | |
rm -f src/*.generic | |
make src/config.h.generic src/pcre2.h.generic | |
# If we're in a forked repo, it's too onerous to expect contributors to run the | |
# checks locally to keep these files up to date (since the tool versions are very | |
# fussy and brittle). | |
# | |
# However, we still want to run the steps above, to check that the UpdateAlways | |
# process is able to run to completion, since it can pick up errors in the man pages. | |
- name: Commit and push, if not in a forked repo | |
if: github.event_name != 'pull_request' || ( ! github.event.pull_request.head.repo.fork && github.actor != 'dependabot[bot]' ) | |
run: | | |
if [ -n "`git status --porcelain`" ] ; then | |
# Dirty working tree: push it | |
git config user.name "github-actions[bot]" | |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
git add -u | |
git commit -m "Sync autogenerated files #noupdate" | |
git push | |
fi | |
sync-docs: | |
name: Sync content from master to pages | |
runs-on: ubuntu-latest | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/master' | |
needs: ['sync-autogenerated'] | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
submodules: false | |
fetch-depth: 0 # Necessary to get both the master and pages branches | |
fetch-tags: false | |
ref: pages | |
- name: Commit and push, if docs have changed | |
run: | | |
if ! git diff --exit-code origin/master -- \ | |
./doc ./AUTHORS.md ./LICENCE.md ./SECURITY.md ./README.md \ | |
./README ./NON-AUTOTOOLS-BUILD >/dev/null ; then | |
# Differences from master: merge and push | |
git config user.name "github-actions[bot]" | |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
git merge origin/master --no-edit -m"Sync content from master to pages" | |
git push | |
else | |
echo "No content changes to sync" | |
fi |