forked from c-ares/c-ares
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CI: Move more to GitHub actions including Containers (c-ares#842)
GitHub actions supports running tests on various docker containers, move Ubuntu 20.04 and Alpine tests to containers. Also move iOS testing to GitHub actions since that runs on MacOS which is supported. This should take additional load off of Cirrus-CI which consumes credits like crazy. This leaves only FreeBSD and Linux ARM testing on Cirrus-CI. Authored-By: Brad House (@bradh352)
- Loading branch information
Showing
16 changed files
with
292 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# Copyright (C) The c-ares project and its contributors | ||
# SPDX-License-Identifier: MIT | ||
name: Alpine (latest) | ||
on: | ||
push: | ||
pull_request: | ||
|
||
concurrency: | ||
group: ${{ github.ref }}-alpine-latest | ||
cancel-in-progress: true | ||
|
||
env: | ||
TEST_FILTER: "--gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*" | ||
CMAKE_FLAGS: "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -G Ninja" | ||
MAKE: make | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: alpine:latest | ||
# Needed for TCP FastOpen | ||
options: --privileged | ||
name: "Alpine (latest)" | ||
steps: | ||
- name: Install packages | ||
run: | | ||
apk add bash cmake samurai gtest-dev autoconf autoconf-archive automake libtool pkgconf make clang17 clang17-analyzer compiler-rt lldb gcc g++ valgrind gdb sudo | ||
- name: Checkout c-ares | ||
uses: actions/checkout@v4 | ||
- name: "Make sure TCP FastOpen is enabled" | ||
run: | | ||
sudo sysctl -w net.ipv4.tcp_fastopen=3 | ||
- name: "CMake: build and test c-ares" | ||
env: | ||
BUILD_TYPE: CMAKE | ||
CMAKE_TEST_FLAGS: "-DCARES_BUILD_TESTS=ON" | ||
TEST_DEBUGGER: gdb | ||
run: | | ||
./ci/build.sh | ||
./ci/test.sh | ||
- name: "Autotools: build and test c-ares" | ||
env: | ||
BUILD_TYPE: autotools | ||
TEST_DEBUGGER: gdb | ||
run: | | ||
./ci/build.sh | ||
./ci/test.sh | ||
- name: "CMake: UBSAN: build and test c-ares" | ||
env: | ||
BUILD_TYPE: "ubsan" | ||
CC: "clang" | ||
CXX: "clang++" | ||
CMAKE_TEST_FLAGS: "-DCARES_BUILD_TESTS=ON" | ||
CFLAGS: "-fsanitize=undefined -fno-sanitize-recover" | ||
CXXFLAGS: "-fsanitize=undefined -fno-sanitize-recover" | ||
LDFLAGS: "-fsanitize=undefined" | ||
TEST_DEBUGGER: "none" | ||
run: | | ||
./ci/build.sh | ||
./ci/test.sh | ||
- name: "CMake: ASAN: build and test c-ares" | ||
env: | ||
BUILD_TYPE: "asan" | ||
CC: "clang" | ||
CXX: "clang++" | ||
CMAKE_TEST_FLAGS: "-DCARES_BUILD_TESTS=ON" | ||
CFLAGS: "-fsanitize=address" | ||
CXXFLAGS: "-fsanitize=address" | ||
LDFLAGS: "-fsanitize=address" | ||
TEST_DEBUGGER: "none" | ||
run: | | ||
./ci/build.sh | ||
./ci/test.sh | ||
- name: "CMake: Static Analyzer: build c-ares" | ||
env: | ||
BUILD_TYPE: "analyze" | ||
CC: "clang" | ||
CXX: "clang++" | ||
SCAN_WRAP: "scan-build -v --status-bugs" | ||
CMAKE_TEST_FLAGS: "-DCARES_BUILD_TESTS=OFF" | ||
TEST_DEBUGGER: "lldb" | ||
run: | | ||
./ci/build.sh | ||
./ci/test.sh | ||
- name: "Valgrind: build and test c-ares (no TCP FastOpen)" | ||
env: | ||
BUILD_TYPE: "valgrind" | ||
TEST_WRAP: "valgrind --leak-check=full" | ||
TEST_FILTER: "--gtest_filter=-*Container*:*LiveSearchANY*:*LiveSearchTXT*" | ||
CMAKE_TEST_FLAGS: "-DCARES_BUILD_TESTS=ON" | ||
TEST_DEBUGGER: none | ||
run: | | ||
sudo sysctl -w net.ipv4.tcp_fastopen=0 | ||
./ci/build.sh | ||
./ci/test.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# Copyright (C) The c-ares project and its contributors | ||
# SPDX-License-Identifier: MIT | ||
name: iOS | ||
on: | ||
push: | ||
pull_request: | ||
|
||
concurrency: | ||
group: ${{ github.ref }}-ios | ||
cancel-in-progress: true | ||
|
||
env: | ||
DIST: "iOS" | ||
MAKE: "make" | ||
CMAKE_FLAGS: "-DCMAKE_BUILD_TYPE=DEBUG -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64 -G Ninja" | ||
CMAKE_TEST_FLAGS: "-DCARES_BUILD_TESTS=OFF" | ||
|
||
jobs: | ||
build: | ||
runs-on: macos-latest | ||
name: "iOS" | ||
steps: | ||
- name: Install packages | ||
run: brew install cmake googletest llvm autoconf automake libtool make ninja | ||
- name: Checkout c-ares | ||
uses: actions/checkout@v4 | ||
- name: "CMake: build and test c-ares" | ||
env: | ||
BUILD_TYPE: CMAKE | ||
run: | | ||
./ci/build.sh | ||
- name: "Autotools: build and test c-ares" | ||
env: | ||
BUILD_TYPE: autotools | ||
CFLAGS: "-arch armv7 -arch armv7s -arch arm64 -miphoneos-version-min=10.0" | ||
CONFIG_OPTS: "--host=arm-apple-darwin10 --disable-tests" | ||
run: | | ||
./ci/build.sh | ||
- name: "Cmake: Static Analyzer: build c-ares" | ||
env: | ||
BUILD_TYPE: "analyze" | ||
CC: "clang" | ||
SCAN_WRAP: "/opt/homebrew/opt/llvm/bin/scan-build-py -v --status-bugs" | ||
run: | | ||
./ci/build.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,12 +5,16 @@ on: | |
push: | ||
pull_request: | ||
|
||
concurrency: | ||
group: ${{ github.ref }}-openbsd | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
name: OpenBSD | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Test | ||
uses: cross-platform-actions/[email protected] | ||
env: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.