mirror of
https://github.com/3proxy/3proxy.git
synced 2026-08-26 09:55:48 +08:00
Some checks are pending
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ubuntu-latest (wolfSSL) (push) Waiting to run
Update HTML documentation / docs (push) Waiting to run
Update wiki / wiki (push) Waiting to run
The cmake Windows build links vcpkg's pcre2, whose DLL lives in c:/vcpkg/installed/x64-windows/bin. Running the tests without that on PATH started a 3proxy that died at load with 0xC0000135 before opening a socket, which the suite could only report as "never listened". Report the reason instead of leaving it blank: name the exit code, and say when a body is empty because the request failed rather than because the reply carried nothing.
81 lines
2.3 KiB
YAML
81 lines
2.3 KiB
YAML
name: C/C++ CI cmake
|
|
|
|
on:
|
|
push:
|
|
paths: [ '**.c', '**.h', '**.cmake', 'CMakeLists.txt', 'tests/**', '.github/configs', '.github/workflows/c-cpp-cmake.yml' ]
|
|
pull_request:
|
|
paths: [ "**.c", "**.h", "**.cmake", "CMakeLists.txt", "tests/**", ".github/configs", ".github/workflows/c-cpp-cmake.yml" ]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
ci:
|
|
name: "${{ matrix.target }}"
|
|
strategy:
|
|
matrix:
|
|
target:
|
|
- ubuntu-latest
|
|
- ubuntu-24.04-arm
|
|
- macos-15
|
|
- windows-2022
|
|
runs-on: ${{ matrix.target }}
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
# - name: configure
|
|
# run: ./configure
|
|
- name: Linux libraries
|
|
if: ${{ startsWith(matrix.target, 'ubuntu') }}
|
|
run: sudo apt-get update && sudo apt-get install -y libssl-dev libpam-dev libpcre2-dev
|
|
- name: Mac libraries
|
|
if: ${{ startsWith(matrix.target, 'macos') }}
|
|
run: brew install pcre2
|
|
- name: install Windows libraries
|
|
if: ${{ startsWith(matrix.target, 'windows') }}
|
|
run: vcpkg install pcre2:x64-windows
|
|
- name: make with CMake POSIX
|
|
if: ${{ ! startsWith(matrix.target, 'windows') }}
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build .
|
|
mkdir ~/3proxy
|
|
DESTDIR=~/3proxy cmake --install .
|
|
cd ..
|
|
python3 tests/run.py --bin build/bin/3proxy
|
|
rm -rf build/
|
|
- name: make with CMake Win
|
|
if: ${{ startsWith(matrix.target, 'windows') }}
|
|
shell: cmd
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
set "LIB=%LIB%;c:/program files/openssl/lib/VC/x64/MT;c:/vcpkg/installed/x64-windows/lib"
|
|
set "INCLUDE=%INCLUDE%;c:/program files/openssl/include;c:/vcpkg/installed/x64-windows/include"
|
|
cmake ..
|
|
dir
|
|
cmake --build .
|
|
cd ..
|
|
set "PATH=%PATH%;c:/vcpkg/installed/x64-windows/bin"
|
|
python tests\run.py || exit /b 1
|
|
rmdir /s /q build
|
|
|
|
wolfssl:
|
|
name: "ubuntu-latest (wolfSSL)"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Install wolfSSL
|
|
run: sudo apt-get update && sudo apt-get install -y libwolfssl-dev
|
|
- name: make with CMake (wolfSSL preferred)
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build .
|
|
cd ..
|
|
python3 tests/run.py --bin build/bin/3proxy
|
|
rm -rf build/
|