Skip to content

Commit

Permalink
Release 1.12
Browse files Browse the repository at this point in the history
  • Loading branch information
daviesrob committed Mar 17, 2021
2 parents df43fd4 + 5105724 commit 06e3645
Show file tree
Hide file tree
Showing 220 changed files with 6,889 additions and 2,441 deletions.
14 changes: 6 additions & 8 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,6 @@ version: 'vers.{build}'

# branches to build
branches:
# Whitelist
only:
- develop

# Blacklist
except:
- gh-pages

Expand All @@ -22,6 +17,9 @@ skip_tags: true
# - docs/*
# - '**/*.html'

# Appveyor Windows images are based on Visual studio version
image: Visual Studio 2019

# We use Mingw/Msys, so use pacman for installs
install:
- set HOME=.
Expand All @@ -37,15 +35,15 @@ install:
clone_script:
- "sh -lc \"if test x$APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME != x ; then git clone --branch=$APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH https://github.com/$APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME $APPVEYOR_BUILD_FOLDER ; else false ; fi || git clone --branch=$APPVEYOR_REPO_BRANCH https://github.com/$APPVEYOR_REPO_NAME $APPVEYOR_BUILD_FOLDER\""
- "sh -lc \"git show-branch --sha1-name HEAD"
- "sh -lc \"git clone --branch=$APPVEYOR_REPO_BRANCH https://github.com/`echo $APPVEYOR_REPO_NAME|sed 's#/bcftools#/htslib#'`.git $APPVEYOR_BUILD_FOLDER/htslib || git clone https://github.com/samtools/htslib.git $APPVEYOR_BUILD_FOLDER/htslib \""
- "sh -lc \"git clone --recurse-submodules --shallow-submodules --branch=$APPVEYOR_REPO_BRANCH https://github.com/`echo $APPVEYOR_REPO_NAME|sed 's#/bcftools#/htslib#'`.git $APPVEYOR_BUILD_FOLDER/htslib || git clone --recurse-submodules --shallow-submodules https://github.com/samtools/htslib.git $APPVEYOR_BUILD_FOLDER/htslib \""
- "sh -lc \"cd $APPVEYOR_BUILD_FOLDER/htslib && git show-branch --sha1-name HEAD\""

build_script:
- set HOME=.
- set MSYSTEM=MINGW64
- set PATH=C:/msys64/usr/bin;C:/msys64/mingw64/bin;%PATH%
- "sh -lc \"(cd htslib; aclocal && autoheader && autoconf)\""
- "sh -lc \"aclocal && autoheader && autoconf && ./configure && make -j2\""
- "sh -lc \"(cd htslib; autoreconf -i)\""
- "sh -lc \"autoreconf -i && ./configure --enable-werror && make -j2\""

test_script:
- set HOME=.
Expand Down
17 changes: 17 additions & 0 deletions .ci_helpers/clone
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/bin/sh
# Usage: .ci_helpers/clone REPOSITORY [DIR] [BRANCH]
#
# Creates a shallow clone, checking out the specified branch. If BRANCH is
# omitted or if there is no branch with that name, checks out origin/HEAD
# from the samtools/htslib repository.

repository=$1
localdir=$2
branch=$3

ref=''
[ -n "$branch" ] && ref=$(git ls-remote --heads "$repository" "$branch" 2>/dev/null)
[ -z "$ref" ] && repository='git://github.com/samtools/htslib.git'

set -x
git clone --recurse-submodules --shallow-submodules --depth=1 ${ref:+--branch="$branch"} "$repository" "$localdir"
161 changes: 161 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# 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: 10m

#--------------------------------------------------
# Template: htslib clone & build
#
# We try to clone htslib using the same branch name and owner as this
# bcftools branch. If it exists, it's likely the user is making a
# joint bcftools+htslib PR and wants both checked in unison.
# Failing that we use samtools/htslib:develop.
# Note this only works on the users own forks. Once in the samtools
# organisation the branch name becomes pull/<num>.

# Logic for choosing which to use is in the .ci_helpers/clone script.
# Note we could also use "clone_script" if we want to replace the bcftools
# clone with our own commands too.
clone_template: &HTSLIB_CLONE
htslib_clone_script: |
.ci_helpers/clone "git://github.com/${CIRRUS_REPO_OWNER}/htslib" "${HTSDIR}" "${CIRRUS_BRANCH}"
#--------------------------------------------------
# Template: bcftools compile and test

compile_template: &COMPILE
<< : *HTSLIB_CLONE

compile_script: |
if test "$USE_CONFIG" = "yes"; then
(cd $HTSDIR && autoreconf -i)
autoreconf -i
./configure --enable-werror || (cat config.log; /bin/false)
make -j3
else
make -j3 plugindir=$CIRRUS_WORKING_DIR/plugins -e
fi
test_template: &TEST
test_script: |
make -e test
#--------------------------------------------------
# Task: linux builds.

# Debian + latest GCC
gcc_task:
name: debian-gcc
container:
image: gcc:latest
cpu: 1
memory: 1G

environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
HTSDIR: ./htslib

matrix:
- environment:
USE_CONFIG: no
- environment:
USE_CONFIG: yes
CFLAGS: -std=gnu99 -O0

<< : *COMPILE
<< : *TEST


# Ubuntu + Clang
ubuntu_task:
name: ubuntu-clang
container:
image: ubuntu:devel
cpu: 2
memory: 1G

environment:
CC: clang
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
HTSDIR: ./htslib

matrix:
- environment:
USE_CONFIG: no
- container:
memory: 2G
environment:
USE_CONFIG: yes
CFLAGS: -g -Wall -O3 -fsanitize=address
LDFLAGS: -fsanitize=address -Wl,-rpath,`pwd`/inst/lib

# 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 git autoconf automake \
make zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev \
libssl-dev libdeflate-dev libncurses5-dev
<< : *COMPILE
<< : *TEST


# CentOS
centos_task:
name: centos-gcc
container:
image: centos:latest
cpu: 2
memory: 1G

environment:
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
HTSDIR: ./htslib
USE_CONFIG: yes

# 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 zlib-devel \
bzip2 bzip2-devel xz-devel curl-devel openssl-devel ncurses-devel \
git diffutils
<< : *COMPILE
<< : *TEST


#--------------------------------------------------
# Task: macOS builds

macosx_task:
name: macosx + clang
osx_instance:
image: catalina-base

environment:
CC: clang
LC_ALL: C
CIRRUS_CLONE_DEPTH: 1
HTSDIR: ./htslib

matrix:
- environment:
USE_CONFIG: no
- environment:
USE_CONFIG: yes

package_install_script:
- HOMEBREW_NO_AUTO_UPDATE=1 brew install autoconf automake libtool xz

<< : *COMPILE
<< : *TEST
4 changes: 3 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
*.bam -text diff=bam

# Omit these files from release tarballs.
/.appveyor.yml export-ignore
/.cirrus.yml export-ignore
.git* export-ignore
.travis* export-ignore
.ci_helpers export-ignore
README.md export-ignore
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ configure

/TAGS

test/*.fa.fai
test/vkrs.unsorted.hex
test/rsvk.unsorted.hex
test/nrvk.unsorted.tsv
70 changes: 0 additions & 70 deletions .travis.yml

This file was deleted.

14 changes: 0 additions & 14 deletions .travis/clone

This file was deleted.

2 changes: 1 addition & 1 deletion INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ For the impatient

The latest source code can be downloaded from github and compiled using:

git clone git://github.com/samtools/htslib.git
git clone --recurse-submodules git://github.com/samtools/htslib.git
git clone git://github.com/samtools/bcftools.git
cd bcftools
# The following is optional:
Expand Down
Loading

0 comments on commit 06e3645

Please sign in to comment.