1 Star 0 Fork 0

王晓铎/htslib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.cirrus.yml 5.87 KB
一键复制 编辑 原始数据 按行查看 历史
Rob Davies 提交于 2024-08-24 01:26 +08:00 . Fix more warnings and adjust Cirrus CI rules
# Note we have a maximum of 16 CPUs available, so adjust our
# builds so we can start all concurrently without needing to schedule.
# Sadly though there is still a finite limit to macOS of one instance.
# Can we cull our Mac test to just one instance?
timeout_in: 20m
#--------------------------------------------------
# Template: build libdeflate dependency
libdeflate_template: &LIBDEFLATE
libdeflate_script: |
if test "x$USE_LIBDEFLATE" == "xyes"; then
pushd "$HOME"
git clone --depth 1 https://github.com/ebiggers/libdeflate.git
pushd libdeflate
cmake -B build -DLIBDEFLATE_BUILD_SHARED_LIB=OFF -DLIBDEFLATE_BUILD_GZIP=OFF -DCMAKE_C_FLAGS="-g -O3 -fPIC $LIBDEFLATE_CFLAGS"
cmake --build build --verbose
popd
popd
fi
#--------------------------------------------------
# Template: compile and test
compile_template: &COMPILE
compile_script: |
git submodule update --init --recursive
if test "x$USE_LIBDEFLATE" = "xyes"; then
CONFIG_OPTS='CPPFLAGS="-I$HOME/libdeflate" LDFLAGS="$LDFLAGS -L$HOME/libdeflate/build" --with-libdeflate'
else
CONFIG_OPTS='--without-libdeflate'
fi
if test "$USE_CONFIG" = "yes"; then
MAKE_OPTS=
autoreconf -i
eval ./configure --enable-plugins --enable-werror $CONFIG_OPTS CFLAGS=\"$CFLAGS\" || \
( cat config.log; false )
else
MAKE_OPTS=-e
fi
make cc-version $MAKE_OPTS
if test "x$DO_MAINTAINER_CHECKS" = "xyes"; then
make maintainer-check $MAKE_OPTS
fi
make -j 4 $MAKE_OPTS
test_template: &TEST
test_script: |
make test-shlib-exports $MAKE_OPTS
make test $MAKE_OPTS
if test "x$DO_UNTRACKED_FILE_CHECK" = "xyes"; then make check-untracked $MAKE_OPTS ; fi
#--------------------------------------------------
# Task: linux builds.
# Debian + latest GCC
gcc_task:
name: debian-gcc
container:
image: gcc:latest
cpu: 2
memory: 1G
environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
matrix:
- environment:
DO_MAINTAINER_CHECKS: yes
DO_UNTRACKED_FILE_CHECK: yes
USE_CONFIG: no
CFLAGS: -g -O2 -Wall -Werror -fvisibility=hidden
- environment:
USE_CONFIG: yes
# ubsan is incompatible with some -Wformat opts so we do that on clang.
CFLAGS: -g -O3 -fsanitize=address,undefined -DHTS_ALLOW_UNALIGNED=0 -Wno-format-truncation -Wno-format-overflow
LDFLAGS: -fsanitize=address,undefined
USE_LIBDEFLATE: yes
UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1
install_script: |
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
ca-certificates libc-dev make git autoconf automake \
zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev \
cmake
<< : *LIBDEFLATE
<< : *COMPILE
<< : *TEST
# Ubuntu + Clang
ubuntu_task:
name: ubuntu-clang
container:
image: ubuntu:latest
# image: ubuntu:devel
cpu: 2
memory: 1G
environment:
CC: clang
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
matrix:
- environment:
USE_CONFIG: yes
CFLAGS: -g -O3
DO_UNTRACKED_FILE_CHECK: yes
- environment:
# Cirrus-CI's clang isn't installed with ubsan, so we do that in gcc
USE_CONFIG: yes
CFLAGS: -g -O3 -std=c99 -pedantic -Wall -Wformat -Wformat=2
USE_LIBDEFLATE: yes
# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
ca-certificates clang libc-dev make git autoconf automake \
zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev \
libdeflate-dev
<< : *COMPILE
<< : *TEST
# Rocky Linux
rocky_task:
name: rockylinux-gcc
container:
image: rockylinux:9
cpu: 2
memory: 1G
environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
USE_CONFIG: yes
CFLAGS: -g -O3 -std=gnu90 -Wall -Wformat -Wformat=2 -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers
# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
yum install -y autoconf automake make gcc perl-Data-Dumper perl-FindBin \
zlib-devel bzip2 bzip2-devel xz-devel curl-devel openssl-devel \
ncurses-devel diffutils git
<< : *COMPILE
<< : *TEST
# Arm Linux
arm_ubuntu_task:
name: ubuntu-arm
arm_container:
image: ubuntu:latest
cpu: 2
memory: 1G
environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
DO_UNTRACKED_FILE_CHECK: yes
USE_CONFIG: yes
CFLAGS: -g -Wall -O3 -std=c99 -pedantic
# NB: we could consider building a docker image with these
# preinstalled and specifying that instead, to speed up testing.
install_script: |
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
ca-certificates clang libc-dev make git autoconf automake \
zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev \
libdeflate-dev
<< : *COMPILE
<< : *TEST
#--------------------------------------------------
# Task: macOS builds
macosx_task:
name: macosx + clang
macos_instance:
image: ghcr.io/cirruslabs/macos-runner:sonoma
environment:
CC: clang
LDFLAGS: "-arch arm64 -arch x86_64"
LIBDEFLATE_CFLAGS: "-arch arm64 -arch x86_64"
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
matrix:
- environment:
USE_CONFIG: no
CFLAGS: "-g -O3 -Wall -Werror -arch arm64 -arch x86_64"
- environment:
USE_CONFIG: yes
USE_LIBDEFLATE: yes
CFLAGS: "-g -O3 -Wall -arch arm64 -arch x86_64"
package_install_script: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool xz git \
cmake
<< : *LIBDEFLATE
<< : *COMPILE
<< : *TEST
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xdds/htslib.git
git@gitee.com:xdds/htslib.git
xdds
htslib
htslib
master

搜索帮助