| # |
| # 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: ["*"] |
| pull_request: |
| branches: ["*"] |
| |
| 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] |
| httpd: [system, trunk, 2.4.x] |
| # Only run davautocheck for httpd trunk/2.4.x |
| exclude: |
| - check-target: check |
| httpd: trunk |
| - check-target: check |
| httpd: 2.4.x |
| |
| 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 |
| |
| - name: Use LF for Git checkout |
| run: | |
| git config --global core.autocrlf false |
| git config --global core.eol lf |
| |
| - name: Install Apache httpd |
| 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@v4 |
| |
| - name: autogen |
| run: ./autogen.sh |
| |
| - name: Configure |
| run: | |
| ./configure --enable-maintainer-mode \ |
| --with-apxs=${{ matrix.httpd == 'system' && '/usr/bin/apxs' || '${HOME}/root/httpd/bin/apxs' }} |
| |
| - name: Build (make) |
| run: make -j |
| |
| - name: Run tests |
| run: make ${{matrix.check-target}} PARALLEL=16 APACHE_MPM=event |
| |
| - name: Archive test logs |
| if: always() |
| uses: actions/upload-artifact@v4 |
| 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 |