A C library for asynchronous DNS requests (grpc依赖)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

53 lines
2.2 KiB

# Copyright (C) The c-ares project and its contributors
# SPDX-License-Identifier: MIT
name: Solaris
on:
push:
pull_request:
concurrency:
group: ${{ github.ref }}-solaris
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
name: "Solaris Build and Test"
env:
DIST: SOLARIS
BUILD_TYPE: "cmake"
CMAKE_FLAGS: "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON"
CMAKE_TEST_FLAGS: "-DCMAKE_PREFIX_PATH=/usr/local/ -DCARES_BUILD_TESTS=ON -DCMAKE_CXX_FLAGS=-DGTEST_HAS_PTHREAD=0"
TEST_FILTER: "--gtest_filter=-*Live*"
# Due to the ancient GDB version in the repo right now, we can't run it through GDB
TEST_DEBUGGER: "none"
steps:
- uses: actions/checkout@v4
- name: Solaris Build and Test
id: solaris
uses: vmactions/solaris-vm@v1
with:
envs: 'DIST BUILD_TYPE CMAKE_FLAGS CMAKE_TEST_FLAGS TEST_FILTER CXXFLAGS TEST_DEBUGGER'
usesh: true
# package list: http://pkg.oracle.com/solaris/release/en/catalog.shtml
prepare: |
pkg install -v --no-refresh cmake gcc pkg-config gnu-make git gdb
# We have to jump through a lot of hoops with google test.
# - We need to max out at v1.13.x because this solaris VM is old and
# only has cmake 3.9
# - We have to compile google test ourselves because it isn't available.
# - We have to forcibly compile google test without threading because
# solaris throws an exception for some unknown reason.
# - The forcible threading disablement doesn't appear to propagate to
# proper cflags with compiling c-ares tests so we need to set a
# CXX flag to let google test know it was compiled without threading.
run: |
git clone --depth=1 -b v1.13.x https://github.com/google/googletest googletest
cd googletest
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_GMOCK=ON -DINSTALL_GTEST=ON -Dgtest_disable_pthreads=ON -DCMAKE_VERBOSE_MAKEFILE=ON .
gmake
gmake install
cd ..
./ci/build.sh
./ci/test.sh