Skip to content

90% Fix issue #3445: don't rewrite versioned payload in the write-thr… #1047

90% Fix issue #3445: don't rewrite versioned payload in the write-thr…

90% Fix issue #3445: don't rewrite versioned payload in the write-thr… #1047

Workflow file for this run

#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# autoconf.yml -- Configuration for autoconf GitHub Action workflow.
#
name: autoconf
on:
push:
branches: ["*"]
paths-ignore:
- 'doc/**'
- 'notes/**'
- CHANGES
- COMMITTERS
- INSTALL
- STATUS
- README
pull_request:
branches: ["*"]
paths-ignore:
- 'doc/**'
- 'notes/**'
- CHANGES
- COMMITTERS
- INSTALL
- STATUS
- README
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
jobs:
build:
strategy:
fail-fast: false
matrix:
check-target: [check, davautocheck]
os: [ubuntu-latest, ubuntu-22.04-arm, macos-latest]
httpd: [system, trunk, 2.4.x]
# Only run davautocheck for httpd trunk/2.4.x
# Disable non-system (i.e., Homebrew) httpd on macOS
exclude:
- check-target: check
httpd: trunk
- check-target: check
httpd: 2.4.x
- httpd: trunk
os: macos-latest
- httpd: 2.4.x
os: macos-latest
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }}, target ${{ matrix.check-target }}, ${{ matrix.httpd }} httpd
steps:
- name: Install dependencies (Linux, apt-get)
if: runner.os == 'Linux'
run: >
sudo apt-get update &&
sudo apt-get install
libtool
libtool-bin
libapr1-dev
libaprutil1-dev
libserf-dev
libexpat1-dev
zlib1g-dev
libsqlite3-dev
liblz4-dev
libutf8proc-dev
${{ matrix.httpd == 'system' && 'apache2-dev' || '' }}
libsecret-1-dev
python3-lxml
python3-rnc2rng
- name: Install dependencies (macOS, homebrew)
if: runner.os == 'macOS'
run: >
brew install
autoconf
libtool
apr
apr-util
apache-serf
httpd
sqlite3
lz4
utf8proc
- name: Install dependencies (macOS, python)
if: runner.os == 'macOS'
run: |
python3 -m venv "$HOME/test-python-venv"
"$HOME/test-python-venv/bin/python3" -m pip \
-v \
--disable-pip-version-check \
install lxml==6.1.0 rnc2rng==2.7.0
- name: Use LF for Git checkout
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Install Apache httpd (Linux)
if: runner.os == 'Linux'
run: |
test "${{ matrix.httpd }}" != 'system' || exit 0
git clone -q --depth=1 -b ${{ matrix.httpd }} https://github.com/apache/httpd
cd httpd
./buildconf --with-apr=/usr/bin/apr-1-config
./configure --prefix=$HOME/root/httpd --enable-mpms-shared=event --enable-mods-shared=most --enable-dav
make -j
make install
- uses: actions/checkout@v6
- name: Set platform-specific values
id: platform
run: |
if test "$RUNNER_OS" = 'macOS'; then
echo "python=$HOME/test-python-venv/bin/python3" >> "$GITHUB_OUTPUT"
echo "apache-mpm=prefork" >> "$GITHUB_OUTPUT"
else
echo "python=$(which python3)" >> "$GITHUB_OUTPUT"
echo "apache-mpm=event" >> "$GITHUB_OUTPUT"
fi
- name: Autogen
env:
PYTHON: ${{ steps.platform.outputs.python }}
run: ./autogen.sh
- name: Configure (Linux)
if: runner.os == 'Linux'
env:
PYTHON: ${{ steps.platform.outputs.python }}
run: |
./configure --enable-maintainer-mode \
--with-apxs=${{ matrix.httpd == 'system' && '/usr/bin/apxs' || '${HOME}/root/httpd/bin/apxs' }}
- name: Configure (macOS)
if: runner.os == 'macOS'
env:
CC: clang
CXX: clang++
PYTHON: ${{ steps.platform.outputs.python }}
run: |
export PATH="$(dirname "$PYTHON"):$PATH"
./configure --enable-maintainer-mode \
--disable-nls \
--enable-keychain \
--enable-svnbrowse \
--with-apr="$(brew --prefix apr)" \
--with-apr-util="$(brew --prefix apr-util)" \
--with-serf="$(brew --prefix apache-serf)" \
--with-sqlite="$(brew --prefix sqlite)" \
--with-lz4="$(brew --prefix lz4)" \
--with-utf8proc="$(brew --prefix utf8proc)" \
--with-apxs="$(brew --prefix httpd)/bin/apxs" \
--disable-mod-activation \
--without-libmagic \
--without-berkeley-db \
--without-swig
- name: Build (make)
run: make -j4
- name: Run tests
run: |
make ${{matrix.check-target}} PARALLEL=6 \
APACHE_MPM="${{ steps.platform.outputs.apache-mpm }}" \
CHECK_XML_SCHEMA=1
- name: Archive test logs
if: always()
uses: actions/upload-artifact@v7
with:
name: tests-${{matrix.os}}-${{matrix.check-target}}-${{matrix.httpd}}
path: |
tests.log
subversion/tests/cmdline/httpd**/*_log
- name: Install (make install)
run: sudo make install