Skip to content

Commit

Permalink
Replace AppVeyor for GitHub Actions workflow for Windows builds
Browse files Browse the repository at this point in the history
  • Loading branch information
jkbonfield committed Sep 26, 2024
1 parent 921d59b commit 138ce17
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 53 deletions.
52 changes: 0 additions & 52 deletions .appveyor.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .ci_helpers/clone
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ref=''
[ -z "$ref" ] && repository='https://github.com/samtools/htslib.git'

set -x
git clone --recurse-submodules --shallow-submodules --depth=1 ${ref:+--branch="$branch"} "$repository" "$localdir"
git clone --recurse-submodules --shallow-submodules --depth=2 ${ref:+--branch="$branch"} "$repository" "$localdir"

# NB: "samtools" as the owner/organisation, not the repo name
if [ "x$owner" = "xsamtools" -a -z "$ref" -a "x$htslib_PR" != "x" ]
Expand Down
10 changes: 10 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,13 @@
.git* export-ignore
.ci_helpers export-ignore
README.md export-ignore

# Prevent Windows cr-lf endings
test/** text
test/**.gz -text
test/**.csi -text
test/**.tbi -text
test/**.bam -text
test/**.bai -text
test/**.cram -text
test/**.crai -text
52 changes: 52 additions & 0 deletions .github/workflows/windows-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Windows/MinGW-W64 CI
on: [push, pull_request]

jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up MSYS2 MinGW-W64
uses: msys2/setup-msys2@v2
with:
msystem: mingw64
update: false
install: >-
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-autotools
mingw-w64-x86_64-curl
mingw-w64-x86_64-libdeflate
mingw-w64-x86_64-tools-git
mingw-w64-x86_64-zlib
mingw-w64-x86_64-bzip2
mingw-w64-x86_64-xz
- name: Clone htslib
shell: msys2 {0}
run: |
export PATH="$PATH:/mingw64/bin:/c/Program Files/Git/bin"
export MSYSTEM=MINGW64
htslib_pr=`git log -2 --format='%s' | sed -n 's/.*htslib#\([0-9]*\).*/\1/p'`
.ci_helpers/clone ${GITHUB_REPOSITORY_OWNER} htslib htslib ${GITHUB_HEAD_REF:-$GITHUB_REF_NAME} $htslib_pr
pushd .
cd htslib
autoreconf -i
popd
- name: Compile bcftools
shell: msys2 {0}
run: |
export PATH="$PATH:/mingw64/bin:/c/Program Files/Git/bin"
export MSYSTEM=MINGW64
autoheader
autoconf -Wno-syntax
./configure --enable-werror
make -j4
- name: Check bcftools
shell: msys2 {0}
run: |
export PATH="$PATH:/mingw64/bin:/c/Program Files/Git/bin"
export MSYSTEM=MINGW64
make check

0 comments on commit 138ce17

Please sign in to comment.