mirror of https://github.com/c-ares/c-ares.git
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
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
|
|
|