2022-07-10 16:49:53 +03:00
|
|
|
|
---
|
|
|
|
|
name: build
|
|
|
|
|
|
|
|
|
|
on:
|
|
|
|
|
pull_request:
|
|
|
|
|
types:
|
|
|
|
|
- synchronize
|
|
|
|
|
- reopened
|
|
|
|
|
- opened
|
|
|
|
|
branches:
|
|
|
|
|
- master
|
2023-02-12 16:11:02 +01:00
|
|
|
|
paths-ignore:
|
|
|
|
|
- '**.md'
|
|
|
|
|
- '.mailmap'
|
|
|
|
|
- 'ChangeLog*'
|
|
|
|
|
- 'whatsnew*'
|
|
|
|
|
- 'LICENSE'
|
2022-07-10 16:49:53 +03:00
|
|
|
|
push:
|
|
|
|
|
branches:
|
|
|
|
|
- master
|
2023-02-12 16:11:02 +01:00
|
|
|
|
paths-ignore:
|
|
|
|
|
- '**.md'
|
|
|
|
|
- '.mailmap'
|
|
|
|
|
- 'ChangeLog*'
|
|
|
|
|
- 'whatsnew*'
|
|
|
|
|
- 'LICENSE'
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
2023-03-06 14:26:11 +00:00
|
|
|
|
permissions: read-all
|
|
|
|
|
|
2022-07-10 16:49:53 +03:00
|
|
|
|
jobs:
|
|
|
|
|
linux-cmake-job:
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/linux skip') && !contains(github.event.head_commit.message, 'ci/linux/cmake skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
2023-03-06 21:22:10 +01:00
|
|
|
|
os: [ubuntu-20.04]
|
2022-07-10 16:49:53 +03:00
|
|
|
|
EVENT_MATRIX:
|
|
|
|
|
- DIST
|
|
|
|
|
- NONE
|
|
|
|
|
- NO_SSL
|
|
|
|
|
- DISABLE_OPENSSL
|
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
- COMPILER_CLANG
|
|
|
|
|
- TEST_EXPORT_STATIC
|
|
|
|
|
- TEST_EXPORT_SHARED
|
|
|
|
|
include:
|
|
|
|
|
- os: ubuntu-22.04
|
|
|
|
|
EVENT_MATRIX: OPENSSL_3
|
2022-07-12 08:03:36 +03:00
|
|
|
|
# use recent ubuntu with recent clang for recent sanitizers
|
|
|
|
|
- os: ubuntu-22.04
|
|
|
|
|
EVENT_MATRIX: TSAN
|
|
|
|
|
- os: ubuntu-22.04
|
|
|
|
|
EVENT_MATRIX: ASAN
|
|
|
|
|
- os: ubuntu-22.04
|
|
|
|
|
EVENT_MATRIX: UBSAN
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
|
|
|
|
key: ${{ matrix.os }}-cmake-${{ matrix.EVENT_MATRIX }}-v3
|
|
|
|
|
- name: Cache Dist Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: dist
|
|
|
|
|
key: ${{ matrix.os }}-cmake-dist-${{ matrix.EVENT_MATRIX }}-v3
|
|
|
|
|
|
|
|
|
|
- name: Install Depends
|
|
|
|
|
run: |
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get install -y libmbedtls-dev
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: bash
|
|
|
|
|
run: |
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DIST" ]; then
|
|
|
|
|
./autogen.sh
|
|
|
|
|
mkdir -p dist
|
|
|
|
|
cd dist
|
|
|
|
|
../configure
|
|
|
|
|
rm -fr *.tar.gz
|
|
|
|
|
make dist
|
|
|
|
|
archive=$(echo *.tar.gz)
|
|
|
|
|
tar -vxf $archive
|
|
|
|
|
cd $(basename $archive .tar.gz)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_THREAD_SUPPORT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_DEBUG_MODE" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_MM_REPLACEMENT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "COMPILER_CLANG" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
export CC=clang
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=SHARED -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "ASAN" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=debug"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TSAN" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DCMAKE_C_FLAGS=-fsanitize=thread -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=debug"
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "UBSAN" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DCMAKE_C_FLAGS=-fsanitize=undefined -DCMAKE_C_COMPILER=clang -DCMAKE_BUILD_TYPE=debug"
|
|
|
|
|
else
|
|
|
|
|
EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
|
|
|
|
echo [cmake]: cmake .. -DEVENT__ENABLE_GCC_WARNINGS=ON $EVENT_CMAKE_OPTIONS
|
|
|
|
|
cmake .. -DEVENT__ENABLE_GCC_WARNINGS=ON $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS)
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
JOBS=20
|
|
|
|
|
export CTEST_PARALLEL_LEVEL=$JOBS
|
|
|
|
|
export CTEST_OUTPUT_ON_FAILURE=1
|
|
|
|
|
|
2023-02-12 17:05:20 +01:00
|
|
|
|
# Enable allocator_may_return_null for test_event_calloc_enomem
|
|
|
|
|
export TSAN_OPTIONS=suppressions=$PWD/extra/tsan.supp:allocator_may_return_null=1
|
2022-07-12 21:08:00 +03:00
|
|
|
|
export LSAN_OPTIONS=suppressions=$PWD/extra/lsan.supp
|
2023-02-12 17:05:20 +01:00
|
|
|
|
export ASAN_OPTIONS=allocator_may_return_null=1
|
2022-07-12 21:08:00 +03:00
|
|
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DIST" ]; then
|
|
|
|
|
cd dist
|
|
|
|
|
archive=$(echo *.tar.gz)
|
|
|
|
|
cd $(basename $archive .tar.gz)
|
|
|
|
|
fi
|
|
|
|
|
cd build
|
|
|
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
sudo python3 ../test-export/test-export.py static
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
sudo python3 ../test-export/test-export.py shared
|
|
|
|
|
else
|
|
|
|
|
cmake --build . --target verify
|
|
|
|
|
fi
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure() && matrix.EVENT_MATRIX != 'DIST'
|
|
|
|
|
with:
|
|
|
|
|
name: ${{ matrix.os }}-cmake-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure() && matrix.EVENT_MATRIX == 'DIST'
|
|
|
|
|
with:
|
|
|
|
|
name: ${{ matrix.os }}-cmake-${{ matrix.EVENT_MATRIX }}-dist
|
|
|
|
|
path: dist
|
|
|
|
|
|
|
|
|
|
linux-autotools-job:
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/linux skip') && !contains(github.event.head_commit.message, 'ci/linux/autotools skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
2023-03-06 21:22:10 +01:00
|
|
|
|
os: [ubuntu-20.04]
|
2022-07-10 16:49:53 +03:00
|
|
|
|
include:
|
2023-02-12 15:24:06 +01:00
|
|
|
|
# openssl 3.0
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- os: ubuntu-22.04
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: dist
|
2023-02-12 15:24:06 +01:00
|
|
|
|
key: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Install Depends
|
|
|
|
|
run: |
|
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get install -y libmbedtls-dev
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: bash
|
|
|
|
|
run: |
|
|
|
|
|
./autogen.sh
|
|
|
|
|
|
2023-02-12 15:24:06 +01:00
|
|
|
|
# dist archive
|
|
|
|
|
mkdir -p dist
|
|
|
|
|
cd dist
|
|
|
|
|
rm -fr *.tar.gz
|
|
|
|
|
../configure
|
|
|
|
|
make dist
|
|
|
|
|
archive=$(echo *.tar.gz)
|
|
|
|
|
tar -vxf $archive
|
|
|
|
|
cd $(basename $archive .tar.gz)
|
|
|
|
|
# \dist archive
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
echo [configure]: ../configure --enable-gcc-warnings
|
|
|
|
|
../configure --enable-gcc-warnings
|
2022-07-10 16:49:53 +03:00
|
|
|
|
make
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
JOBS=20
|
2023-02-12 15:24:06 +01:00
|
|
|
|
|
|
|
|
|
cd dist
|
|
|
|
|
archive=$(echo *.tar.gz)
|
|
|
|
|
cd $(basename $archive .tar.gz)
|
|
|
|
|
|
2022-07-12 21:08:00 +03:00
|
|
|
|
cd build
|
|
|
|
|
make -j $JOBS verify
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
2023-02-12 15:24:06 +01:00
|
|
|
|
if: failure()
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
name: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-dist
|
|
|
|
|
path: dist
|
|
|
|
|
|
|
|
|
|
windows-vs2019-job:
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/windows skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
|
|
|
|
os: [windows-2019]
|
|
|
|
|
EVENT_MATRIX:
|
|
|
|
|
- NONE
|
|
|
|
|
- NO_SSL
|
|
|
|
|
- LIBRARY_TYPE_STATIC
|
|
|
|
|
- DISABLE_OPENSSL
|
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
- DUNICODE
|
2022-09-16 15:55:56 +08:00
|
|
|
|
- UNOCODE_TEMPORARY_DIRECTORY
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- TEST_EXPORT_SHARED
|
|
|
|
|
- TEST_EXPORT_STATIC
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
|
|
|
|
key: ${{ matrix.os }}-${{ matrix.EVENT_MATRIX }}-v4
|
|
|
|
|
|
|
|
|
|
- name: Prepare vcpkg
|
|
|
|
|
uses: lukka/run-vcpkg@v7
|
|
|
|
|
id: runvcpkg
|
|
|
|
|
with:
|
|
|
|
|
vcpkgArguments: zlib:x64-windows openssl:x64-windows mbedtls:x64-windows
|
|
|
|
|
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/
|
|
|
|
|
vcpkgTriplet: x64-windows
|
|
|
|
|
vcpkgGitCommitId: af2287382b1991dbdcb7e5112d236f3323b9dd7a
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: powershell
|
|
|
|
|
run: |
|
|
|
|
|
$EVENT_BUILD_PARALLEL=10
|
|
|
|
|
|
|
|
|
|
if ( "${{ matrix.EVENT_MATRIX }}" -eq "LIBRARY_TYPE_STATIC" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__MSVC_STATIC_RUNTIME=OFF"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "DISABLE_OPENSSL" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "DISABLE_THREAD_SUPPORT" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "DISABLE_DEBUG_MODE" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "DISABLE_MM_REPLACEMENT" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "UNICODE" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DCMAKE_C_FLAGS='-DUNICODE -D_UNICODE'"
|
|
|
|
|
}
|
2022-09-16 15:55:56 +08:00
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "UNOCODE_TEMPORARY_DIRECTORY" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
mkdir "${{ runner.workspace }}\𝑼𝑵𝑰𝑪𝑶𝑫𝑬"
|
|
|
|
|
echo "TMP=${{ runner.workspace }}\𝑼𝑵𝑰𝑪𝑶𝑫𝑬" >> $env:GITHUB_ENV
|
|
|
|
|
}
|
2022-07-10 16:49:53 +03:00
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_SHARED" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_STATIC" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__MSVC_STATIC_RUNTIME=OFF -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -eq "NO_SSL" ) {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mkdir build -ea 0
|
|
|
|
|
cd build
|
|
|
|
|
|
|
|
|
|
$CMAKE_CMD="cmake -G 'Visual Studio 16 2019' -A x64 -DCMAKE_TOOLCHAIN_FILE=${{ runner.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake .. $EVENT_CMAKE_OPTIONS"
|
|
|
|
|
function cmake_configure($retry)
|
|
|
|
|
{
|
|
|
|
|
$errcode=0
|
|
|
|
|
try {
|
|
|
|
|
if ($retry -eq 0) {
|
|
|
|
|
echo "[cmake configure retry] $CMAKE_CMD"
|
|
|
|
|
} else {
|
|
|
|
|
echo "[cmake configure] $CMAKE_CMD"
|
|
|
|
|
}
|
|
|
|
|
Invoke-Expression $CMAKE_CMD
|
|
|
|
|
$errcode=$LastExitCode
|
|
|
|
|
}
|
|
|
|
|
catch {
|
|
|
|
|
$errcode=1
|
|
|
|
|
}
|
|
|
|
|
finally {
|
|
|
|
|
if ($errcode -ne 0) {
|
|
|
|
|
if ($retry -eq 0) {
|
|
|
|
|
$host.SetShouldExit($LastExitCode)
|
|
|
|
|
} else {
|
|
|
|
|
echo "Remove all entries in build directory"
|
|
|
|
|
rm -r -fo *
|
|
|
|
|
cmake_configure 0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
cmake_configure 1
|
|
|
|
|
cmake --build . -j $EVENT_BUILD_PARALLEL -- /nologo /verbosity:minimal
|
|
|
|
|
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: powershell
|
|
|
|
|
command: |
|
|
|
|
|
$EVENT_TESTS_PARALLEL=1
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
2022-07-12 21:08:00 +03:00
|
|
|
|
cd build
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
2022-07-12 21:08:00 +03:00
|
|
|
|
try {
|
|
|
|
|
if ("${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_STATIC") {
|
|
|
|
|
python ../test-export/test-export.py static
|
|
|
|
|
} elseif ("${{ matrix.EVENT_MATRIX }}" -eq "TEST_EXPORT_SHARED") {
|
|
|
|
|
python ../test-export/test-export.py shared
|
|
|
|
|
} else {
|
|
|
|
|
ctest --output-on-failure -j $EVENT_TESTS_PARALLEL
|
|
|
|
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
|
|
|
|
|
}
|
|
|
|
|
} catch {
|
|
|
|
|
$host.SetShouldExit($LastExitCode)
|
2022-07-10 16:49:53 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: ${{ matrix.os }}-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
|
|
|
|
|
|
|
|
|
mingw-autotools-job:
|
|
|
|
|
runs-on: windows-2019
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/mingw skip') && !contains(github.event.head_commit.message, 'ci/mingw/autotools skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
key: mingw-autotools-v5
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- name: Setup MSYS2
|
|
|
|
|
uses: msys2/setup-msys2@v2
|
|
|
|
|
with:
|
|
|
|
|
msystem: MINGW64
|
|
|
|
|
update: true
|
|
|
|
|
install: mingw-w64-x86_64-gcc autoconf automake libtool mingw-w64-x86_64-openssl mingw-w64-x86_64-mbedtls pkg-config
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: powershell
|
|
|
|
|
run: |
|
|
|
|
|
$env:EVENT_BUILD_PARALLEL=10
|
|
|
|
|
|
|
|
|
|
$script='
|
|
|
|
|
export PATH="/mingw64/bin:/usr/bin:/bin:/usr/local/bin:/opt/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$PATH"
|
|
|
|
|
./autogen.sh 2>&1 3>&1
|
|
|
|
|
[[ $? -ne 0 ]] && exit 1
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
|
|
|
|
[[ $? -ne 0 ]] && exit 1
|
2023-02-12 15:24:06 +01:00
|
|
|
|
LDFLAGS="-L/mingw64/lib" CFLAGS="-I/mingw64/include" ../configure 2>&1
|
2022-07-10 16:49:53 +03:00
|
|
|
|
[[ $? -ne 0 ]] && exit 1
|
|
|
|
|
make -j $EVENT_BUILD_PARALLEL 2>&1
|
|
|
|
|
[[ $? -ne 0 ]] && exit 1
|
|
|
|
|
exit 0
|
|
|
|
|
'
|
|
|
|
|
D:\a\_temp\msys64\usr\bin\bash.exe -c $script
|
|
|
|
|
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: powershell
|
|
|
|
|
command: |
|
|
|
|
|
$env:EVENT_TESTS_PARALLEL=1
|
|
|
|
|
|
|
|
|
|
$script='
|
|
|
|
|
export PATH="/mingw64/bin:/usr/bin:/bin:/usr/local/bin:/opt/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$PATH"
|
|
|
|
|
cd build
|
|
|
|
|
make verify -j $EVENT_TESTS_PARALLEL 2>&1 '
|
|
|
|
|
D:\a\_temp\msys64\usr\bin\bash.exe -c $script
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: mingw-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
|
|
|
|
|
|
|
|
|
mingw-cmake-job:
|
|
|
|
|
runs-on: windows-2019
|
2022-07-11 03:45:32 +03:00
|
|
|
|
# FIXME: disabled for now, see [1].
|
|
|
|
|
# [1]: https://github.com/libevent/libevent/issues/1207
|
|
|
|
|
if: "false && !contains(github.event.head_commit.message, 'ci/mingw skip') && !contains(github.event.head_commit.message, 'ci/mingw/cmake skip')"
|
2022-07-10 16:49:53 +03:00
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
|
|
|
|
EVENT_MATRIX:
|
|
|
|
|
- NONE
|
|
|
|
|
- NO_SSL
|
|
|
|
|
- DISABLE_OPENSSL
|
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
|
|
|
|
key: mingw-cmake-${{ matrix.EVENT_MATRIX }}-v4
|
|
|
|
|
|
|
|
|
|
- name: Setup MSYS2
|
|
|
|
|
uses: msys2/setup-msys2@v2
|
|
|
|
|
with:
|
|
|
|
|
msystem: MINGW64
|
|
|
|
|
update: true
|
2022-09-14 22:13:12 +02:00
|
|
|
|
install: mingw-w64-x86_64-gcc mingw-w64-x86_64-openssl mingw-w64-x86_64-mbedtls
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: powershell
|
|
|
|
|
run: |
|
2023-02-12 15:24:06 +01:00
|
|
|
|
$EVENT_CMAKE_OPTIONS=""
|
2022-07-10 16:49:53 +03:00
|
|
|
|
if ( "${{ matrix.EVENT_MATRIX }}" -ne "NO_SSL" ) {
|
2023-02-12 15:24:06 +01:00
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
2022-07-10 16:49:53 +03:00
|
|
|
|
}
|
|
|
|
|
elseif ( "${{ matrix.EVENT_MATRIX }}" -ne "NONE" ) {
|
2023-02-12 15:24:06 +01:00
|
|
|
|
$EVENT_CMAKE_OPTIONS="-DEVENT__${{ matrix.EVENT_MATRIX }}=ON"
|
2022-07-10 16:49:53 +03:00
|
|
|
|
}
|
|
|
|
|
$env:PATH="D:\a\_temp\msys64\mingw64\bin;D:\a\_temp\msys64\usr\bin;$env:PATH"
|
|
|
|
|
mkdir build -ea 0
|
|
|
|
|
cd build
|
|
|
|
|
function cmake_configure($retry)
|
|
|
|
|
{
|
|
|
|
|
$errcode=0
|
|
|
|
|
try {
|
2023-02-12 15:24:06 +01:00
|
|
|
|
cmake .. -G "MSYS Makefiles" $EVENT_CMAKE_OPTIONS -DCMAKE_C_FLAGS=-w
|
2022-07-10 16:49:53 +03:00
|
|
|
|
$errcode=$LastExitCode
|
|
|
|
|
}
|
|
|
|
|
catch {
|
|
|
|
|
$errcode=1
|
|
|
|
|
}
|
|
|
|
|
finally {
|
|
|
|
|
if ($errcode -ne 0) {
|
|
|
|
|
if ($retry -eq 0) {
|
|
|
|
|
$host.SetShouldExit($LastExitCode)
|
|
|
|
|
} else {
|
|
|
|
|
echo "Remove all entries in build directory"
|
|
|
|
|
rm -r -fo *
|
|
|
|
|
cmake_configure 0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
cmake_configure 1
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: powershell
|
|
|
|
|
command: |
|
|
|
|
|
cd build
|
|
|
|
|
ctest --output-on-failure
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: mingw-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
|
|
|
|
|
|
|
|
|
macos-cmake-job:
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/macos skip') && !contains(github.event.head_commit.message, 'ci/macos/cmake skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
|
|
|
|
os: [macos-latest]
|
|
|
|
|
EVENT_MATRIX:
|
|
|
|
|
- NONE
|
|
|
|
|
- NO_SSL
|
|
|
|
|
- DISABLE_OPENSSL
|
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
- TEST_EXPORT_STATIC
|
|
|
|
|
- TEST_EXPORT_SHARED
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
key: ${{ matrix.os }}-cmake-${{ matrix.EVENT_MATRIX }}-v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Install Depends
|
|
|
|
|
run: brew install mbedtls@2
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: bash
|
|
|
|
|
run: |
|
|
|
|
|
# NOTE: cmake does not support autodetection of OPENSSL_ROOT_DIR via brew
|
|
|
|
|
export OPENSSL_ROOT_DIR=/usr/local/opt/openssl
|
|
|
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
|
|
|
|
|
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
|
|
|
|
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_THREAD_SUPPORT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
|
|
|
|
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_DEBUG_MODE" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
|
|
|
|
|
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_MM_REPLACEMENT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
|
|
|
|
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
|
|
|
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=SHARED -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
fi
|
|
|
|
|
EVENT_CMAKE_OPTIONS="$EVENT_CMAKE_OPTIONS -DMBEDTLS_ROOT_DIR=/usr/local/opt/mbedtls@2"
|
|
|
|
|
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
|
|
|
|
echo [cmake]: cmake .. $EVENT_CMAKE_OPTIONS
|
|
|
|
|
cmake .. $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS)
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
JOBS=1
|
|
|
|
|
export CTEST_PARALLEL_LEVEL=$JOBS
|
|
|
|
|
export CTEST_OUTPUT_ON_FAILURE=1
|
|
|
|
|
|
|
|
|
|
cd build
|
|
|
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
sudo python3 ../test-export/test-export.py static
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
sudo python3 ../test-export/test-export.py shared
|
|
|
|
|
else
|
|
|
|
|
cmake --build . --target verify
|
|
|
|
|
fi
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: ${{ matrix.os }}-cmake-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
|
|
|
|
|
|
|
|
|
macos-autotools-job:
|
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/macos skip') && !contains(github.event.head_commit.message, 'ci/macos/autotools skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
|
|
|
|
os: [macos-latest]
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
key: ${{ matrix.os }}-autotools-v3
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- name: Install Depends
|
|
|
|
|
run: brew install autoconf automake libtool pkg-config mbedtls@2
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
shell: bash
|
|
|
|
|
run: |
|
|
|
|
|
export CPPFLAGS="-I/usr/local/opt/mbedtls@2/include"
|
|
|
|
|
export LDFLAGS="-L/usr/local/opt/mbedtls@2/lib"
|
|
|
|
|
|
|
|
|
|
./autogen.sh
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
echo [configure]: ../configure
|
|
|
|
|
../configure
|
2022-07-10 16:49:53 +03:00
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
- name: Test
|
2022-07-12 21:08:00 +03:00
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
2022-07-12 21:57:41 +03:00
|
|
|
|
max_attempts: 5
|
2022-07-12 21:08:00 +03:00
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
JOBS=1
|
|
|
|
|
cd build
|
|
|
|
|
make -j $JOBS verify
|
2022-07-10 16:49:53 +03:00
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
2022-08-07 18:56:00 +08:00
|
|
|
|
|
|
|
|
|
freebsd-cmake-job:
|
|
|
|
|
runs-on: macos-12
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/freebsd skip') && !contains(github.event.head_commit.message, 'ci/freebsd/cmake skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
2022-09-14 22:14:28 +02:00
|
|
|
|
# NOTE: 13.0 has some issues:
|
|
|
|
|
# ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/libpython3.9.so.1.0 not found
|
|
|
|
|
release: ["12.3", "13.1"]
|
2022-08-07 18:56:00 +08:00
|
|
|
|
EVENT_MATRIX:
|
|
|
|
|
- NONE
|
|
|
|
|
- NO_SSL
|
|
|
|
|
- DISABLE_OPENSSL
|
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
- TEST_EXPORT_STATIC
|
|
|
|
|
- TEST_EXPORT_SHARED
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-08-07 18:56:00 +08:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-08-07 18:56:00 +08:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
|
|
|
|
key: freebsd-${{ matrix.release }}-cmake-${{ matrix.EVENT_MATRIX }}-v1
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
uses: vmactions/freebsd-vm@v0
|
|
|
|
|
with:
|
|
|
|
|
release: ${{ matrix.release }}
|
|
|
|
|
prepare: |
|
|
|
|
|
pkg install -y mbedtls cmake python3
|
|
|
|
|
usesh: true
|
|
|
|
|
run: |
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_THREAD_SUPPORT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_DEBUG_MODE" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_MM_REPLACEMENT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=SHARED -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
else
|
|
|
|
|
EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
fi
|
|
|
|
|
EVENT_CMAKE_OPTIONS="$EVENT_CMAKE_OPTIONS -DMBEDTLS_ROOT_DIR=/usr/local/opt/mbedtls@2"
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
2022-08-07 18:56:00 +08:00
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
|
|
|
|
echo [cmake]: cmake .. $EVENT_CMAKE_OPTIONS
|
|
|
|
|
cmake .. $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS)
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
- name: Test
|
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
|
|
|
|
max_attempts: 5
|
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
ssh freebsd sh <<EOF
|
|
|
|
|
cd $GITHUB_WORKSPACE
|
|
|
|
|
JOBS=1
|
|
|
|
|
export CTEST_PARALLEL_LEVEL=$JOBS
|
|
|
|
|
export CTEST_OUTPUT_ON_FAILURE=1
|
|
|
|
|
cd build
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
python3 ../test-export/test-export.py static
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
python3 ../test-export/test-export.py shared
|
|
|
|
|
else
|
|
|
|
|
cmake --build . --target verify
|
|
|
|
|
fi
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: freebsd-${{ matrix.release }}-cmake-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
|
|
|
|
|
|
|
|
|
freebsd-autotools-job:
|
|
|
|
|
runs-on: macos-12
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/freebsd skip') && !contains(github.event.head_commit.message, 'ci/freebsd/autotools skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
2023-02-12 15:24:06 +01:00
|
|
|
|
release: ["13.1"]
|
2022-08-07 18:56:00 +08:00
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
2022-08-07 18:56:00 +08:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
2022-08-07 18:56:00 +08:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
key: freebsd-${{ matrix.release }}-autotools-v1
|
2022-08-07 18:56:00 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
uses: vmactions/freebsd-vm@v0
|
|
|
|
|
with:
|
|
|
|
|
release: ${{ matrix.release }}
|
|
|
|
|
prepare: |
|
|
|
|
|
pkg install -y mbedtls python3 autoconf automake libtool pkgconf
|
|
|
|
|
usesh: true
|
|
|
|
|
run: |
|
|
|
|
|
./autogen.sh
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
echo [configure]: ../configure
|
|
|
|
|
../configure
|
2022-08-07 18:56:00 +08:00
|
|
|
|
make
|
|
|
|
|
|
|
|
|
|
- name: Test
|
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
|
|
|
|
max_attempts: 5
|
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
ssh freebsd sh <<EOF
|
2022-08-07 19:23:04 +08:00
|
|
|
|
cd $GITHUB_WORKSPACE
|
2022-08-07 18:56:00 +08:00
|
|
|
|
JOBS=1
|
|
|
|
|
cd build
|
2022-08-07 19:37:32 +08:00
|
|
|
|
make verify
|
2022-08-07 18:56:00 +08:00
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: freebsd-${{ matrix.release }}-autotools-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: build
|
2022-09-14 22:13:12 +02:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
openbsd-cmake-job:
|
|
|
|
|
runs-on: macos-12
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/openbsd skip') && !contains(github.event.head_commit.message, 'ci/openbsd/cmake skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
|
|
|
|
release: [
|
|
|
|
|
# 6.9 has some issues with autoconf/autotools [1].
|
|
|
|
|
# [1]: https://github.com/libevent/libevent/pull/1326#issuecomment-1229531718
|
|
|
|
|
#"6.9",
|
|
|
|
|
"7.1",
|
|
|
|
|
]
|
|
|
|
|
EVENT_MATRIX:
|
|
|
|
|
- NONE
|
|
|
|
|
- NO_SSL
|
|
|
|
|
- DISABLE_OPENSSL
|
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
- TEST_EXPORT_STATIC
|
|
|
|
|
# For now this test is disabled due to incorrect library paths [1].
|
|
|
|
|
# [1]: https://github.com/libevent/libevent/pull/1326#issuecomment-1245159690
|
|
|
|
|
#
|
|
|
|
|
# - TEST_EXPORT_SHARED
|
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
|
|
|
|
key: openbsd-${{ matrix.release }}-cmake-${{ matrix.EVENT_MATRIX }}-v1
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
uses: vmactions/openbsd-vm@v0
|
|
|
|
|
with:
|
|
|
|
|
release: ${{ matrix.release }}
|
|
|
|
|
prepare: |
|
|
|
|
|
pkg_add mbedtls cmake python3
|
|
|
|
|
usesh: true
|
|
|
|
|
run: |
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_THREAD_SUPPORT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_DEBUG_MODE" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_MM_REPLACEMENT" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=SHARED -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
else
|
|
|
|
|
EVENT_CMAKE_OPTIONS=""
|
|
|
|
|
fi
|
|
|
|
|
EVENT_CMAKE_OPTIONS="$EVENT_CMAKE_OPTIONS -DMBEDTLS_ROOT_DIR=/usr/local/opt/mbedtls@2"
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
|
|
|
|
echo [cmake]: cmake .. $EVENT_CMAKE_OPTIONS
|
|
|
|
|
cmake .. $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS)
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
- name: Test
|
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
|
|
|
|
max_attempts: 5
|
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
ssh openbsd sh <<EOF
|
|
|
|
|
cd $GITHUB_WORKSPACE
|
|
|
|
|
JOBS=1
|
|
|
|
|
export CTEST_PARALLEL_LEVEL=$JOBS
|
|
|
|
|
export CTEST_OUTPUT_ON_FAILURE=1
|
|
|
|
|
cd build
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
|
python3 ../test-export/test-export.py static
|
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
|
python3 ../test-export/test-export.py shared
|
|
|
|
|
else
|
|
|
|
|
cmake --build . --target verify
|
|
|
|
|
fi
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: openbsd-${{ matrix.release }}-cmake-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: .
|
|
|
|
|
|
|
|
|
|
openbsd-autotools-job:
|
|
|
|
|
runs-on: macos-12
|
|
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/openbsd skip') && !contains(github.event.head_commit.message, 'ci/openbsd/autotools skip')"
|
|
|
|
|
strategy:
|
|
|
|
|
fail-fast: false
|
|
|
|
|
matrix:
|
2023-02-12 15:24:06 +01:00
|
|
|
|
release: ["7.1"]
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
|
|
|
|
|
steps:
|
2023-02-12 16:29:45 +01:00
|
|
|
|
- uses: actions/checkout@v3
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
|
|
|
|
|
- name: Cache Build
|
2023-02-12 16:29:45 +01:00
|
|
|
|
uses: actions/cache@v3
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
with:
|
|
|
|
|
path: build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
key: openbsd-${{ matrix.release }}-autotools-v1
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
|
uses: vmactions/openbsd-vm@v0
|
|
|
|
|
with:
|
|
|
|
|
release: ${{ matrix.release }}
|
|
|
|
|
prepare: |
|
|
|
|
|
pkg_add mbedtls python3 automake-1.16.3 autoconf-2.71 libtool pkgconf
|
|
|
|
|
usesh: true
|
|
|
|
|
run: |
|
|
|
|
|
export AUTOMAKE_VERSION=1.16
|
|
|
|
|
export AUTOCONF_VERSION=2.71
|
2023-02-12 15:20:30 +01:00
|
|
|
|
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
./autogen.sh
|
|
|
|
|
mkdir -p build
|
|
|
|
|
cd build
|
2023-02-12 15:24:06 +01:00
|
|
|
|
echo [configure]: ../configure
|
|
|
|
|
../configure
|
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.
netbsd 6.9 does not have correct library namings for autotools:
2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")
$ grep ^library_names= libevent.la·
library_names='libevent-2.2.so.1.0 libevent.so.1.0'
# And this is wrong, it should be:
libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'
**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**
Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:
2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export -L/usr/local/lib -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2
2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
# no libevent_core-2.2.so
So I have to disable it too.
Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 20:39:17 +08:00
|
|
|
|
make V=1
|
|
|
|
|
|
|
|
|
|
- name: Test
|
|
|
|
|
uses: nick-fields/retry@v2
|
|
|
|
|
with:
|
|
|
|
|
max_attempts: 5
|
|
|
|
|
timeout_minutes: 20
|
|
|
|
|
shell: bash
|
|
|
|
|
command: |
|
|
|
|
|
ssh openbsd sh <<EOF
|
|
|
|
|
cd $GITHUB_WORKSPACE
|
|
|
|
|
JOBS=1
|
|
|
|
|
cd build
|
|
|
|
|
make verify
|
|
|
|
|
EOF
|
|
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
|
if: failure()
|
|
|
|
|
with:
|
|
|
|
|
name: openbsd-${{ matrix.release }}-autotools-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
|
path: .
|