# # 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