summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-12 04:59:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-12 04:59:58 +0000
commitb8d375bcb1f462d5af5d1f480b32d7b0038417f6 (patch)
tree93d48ade79cc9d5892f17ff41c33753be6bb0879 /.github/workflows
parentAdding upstream version 1.7.2. (diff)
downloadapr-b8d375bcb1f462d5af5d1f480b32d7b0038417f6.tar.xz
apr-b8d375bcb1f462d5af5d1f480b32d7b0038417f6.zip
Adding upstream version 1.7.5.upstream/1.7.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--.github/workflows/linux.yml24
-rw-r--r--.github/workflows/macos.yml5
-rw-r--r--.github/workflows/windows-vcpkg.yml44
-rw-r--r--.github/workflows/windows.yml9
4 files changed, 73 insertions, 9 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index e624171..6943534 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -5,7 +5,7 @@ on:
branches: [ "*" ]
tags: [ "*" ]
pull_request:
- branches: [ "trunk" ]
+ branches: [ "trunk", "1.7.x" ]
env:
MARGS: "-j2"
@@ -17,10 +17,18 @@ jobs:
matrix:
include:
- name: Default
+ # Check default shm decision logic for Linux:
+ config-output: APR_USE_SHMEM_MMAP_SHM APR_USE_SHMEM_MMAP_ANON
- name: Static
config: --enable-static
- name: Maintainer-mode
config: --enable-maintainer-mode
+ - name: Named SHM - SysV, Maintainer-mode
+ config: --enable-maintainer-mode --enable-sysv-shm
+ config-output: APR_USE_SHMEM_SHMGET
+ - name: Named SHM - Classic mmap, Maintainer-mode
+ config: --enable-maintainer-mode ac_cv_func_shm_open=no ac_cv_func_shmget=no
+ config-output: APR_USE_SHMEM_MMAP_TMP
- name: Pool-debug
config: --enable-pool-debug
- name: Pool-debug, maintainer-mode
@@ -49,12 +57,20 @@ jobs:
steps:
- name: Install prerequisites
run: sudo apt-get install libtool libtool-bin
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
+ # https://github.com/actions/runner-images/issues/9491#issuecomment-1989718917
+ - name: Workaround ASAN issue in Ubuntu 22.04 runners
+ run: sudo sysctl vm.mmap_rnd_bits=28
- name: buildconf
run: ./buildconf
- name: configure
- run: ./configure ${{ matrix.config }}
+ run: ./configure --prefix=/tmp/apr ${{ matrix.config }}
+ - if: ${{ matrix.config-output != '' }}
+ name: check for expected configure output ${{ matrix.config-output }}
+ run: for var in ${{ matrix.config-output }}; do grep "^#define *${var} *1" include/apr.h; done
- name: make
run: make $MARGS
- - name: make check
+ - name: install
+ run: make install
+ - name: check
run: make check
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index 8647702..1d70a89 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -18,11 +18,14 @@ jobs:
os: [ "macos-latest" ]
runs-on: ${{ matrix.os }}
+ timeout-minutes: 15
env:
NOTEST_CFLAGS: ${{ matrix.notest-cflags }}
name: ${{ matrix.name }}
steps:
- - uses: actions/checkout@v3
+ - name: Install prerequisites
+ run: brew install libtool autoconf make bash
+ - uses: actions/checkout@v4
- name: buildconf
run: ./buildconf
- name: configure
diff --git a/.github/workflows/windows-vcpkg.yml b/.github/workflows/windows-vcpkg.yml
new file mode 100644
index 0000000..80062e2
--- /dev/null
+++ b/.github/workflows/windows-vcpkg.yml
@@ -0,0 +1,44 @@
+name: Vcpkg (Windows)
+
+on:
+ push:
+ branches: [ "1.7.x*" ]
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ os: [windows-latest]
+ triplet:
+ - x64-windows
+ - x64-windows-static
+ - x64-windows-static-md
+ - x86-windows
+ - x86-windows-static
+ port:
+ - apr
+ - apr[core]
+ - apr[private-headers]
+ fail-fast: false
+
+ name: "${{ matrix.port }}:${{ matrix.triplet }} on ${{ matrix.os }}"
+ # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
+ # You can convert this to a matrix build if you need cross-platform coverage.
+ # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
+ runs-on: ${{ matrix.os }}
+
+ env:
+ VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
+
+ steps:
+ - name: Export GitHub Actions cache environment variables
+ uses: actions/github-script@v7
+ with:
+ script: |
+ core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
+ core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
+
+ - uses: actions/checkout@v4
+
+ - name: Vcpkg Install
+ run: C:\vcpkg\vcpkg.exe install ${{ matrix.port }} --head --overlay-ports ${{ github.workspace }}\build\vcpkg --triplet ${{ matrix.triplet }} --enforce-port-checks
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 96b303f..97d369e 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -15,22 +15,23 @@ jobs:
build-type: [Debug, Release]
generator: [ "Visual Studio 17 2022" ]
arch: [ "Win32", "x64" ]
- toolset: [ "v143", "v142", "v141" ]
+ toolset: [ "v143", "v142" ]
+ test-static: [ "ON", "OFF" ]
fail-fast: false
- name: "MSVC ${{ matrix.toolset }} ${{ matrix.arch }} [${{ matrix.build-type }}] on ${{ matrix.os }}"
+ name: "MSVC ${{ matrix.toolset }} ${{ matrix.arch }} [${{ matrix.build-type }}] test-static=${{ matrix.test-static }} on ${{ matrix.os }}"
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
- run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DAPR_BUILD_TESTAPR=ON -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -T ${{ matrix.toolset }}
+ run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DAPR_BUILD_TESTAPR=ON -DTEST_STATIC_LIBS=${{ matrix.test-static }} -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -T ${{ matrix.toolset }}
- name: Build
# Build your program with the given configuration