Skip to content

Commit ed10cad

Browse files
committed
enable GitHub CI workflow
1 parent d29dd6e commit ed10cad

3 files changed

Lines changed: 55 additions & 5 deletions

File tree

.github/workflows/build.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: build
2+
on: [push, pull_request]
3+
4+
env:
5+
APT_DEPS: libzstd-dev samtools tabix libhts-dev python3-pip
6+
PIP_DEPS: pytest pytest-xdist
7+
8+
jobs:
9+
10+
test:
11+
runs-on: ubuntu-20.04
12+
strategy:
13+
matrix:
14+
BUILD_TYPE: [Debug, Release]
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: deps
18+
run: |
19+
sudo apt-get install -y $APT_DEPS
20+
pip3 install $PIP_DEPS
21+
- name: build
22+
run: cmake -DCMAKE_BUILD_TYPE=${{ matrix.BUILD_TYPE }} -B build . && cmake --build build -j $(nproc)
23+
- name: test
24+
run: env -C build ctest -V
25+
26+
linux-so:
27+
runs-on: ubuntu-20.04
28+
steps:
29+
- uses: actions/checkout@v2
30+
- name: detect GIT_REVISION
31+
run: echo "::set-env name=GIT_REVISION::$(git describe --tags --long --always)"
32+
- name: build loaders
33+
run: |
34+
sudo apt-get install -y $APT_DEPS
35+
pip3 install $PIP_DEPS
36+
cmake -DCMAKE_BUILD_TYPE=Release -B build . && cmake --build build -j $(nproc)
37+
rm build/libgenomicsqlite.so
38+
sudo apt-get remove -y libzstd-dev # should be linked into libgenomicsqlite.so
39+
- name: build portable .so in docker
40+
run: docker build -t genomicsqlite . && docker run -v $(pwd):/mnt --rm genomicsqlite cp build/libgenomicsqlite.so /mnt/build/
41+
- name: test portable .so
42+
run: env -C build ctest -V
43+
- uses: actions/upload-artifact@v2
44+
with:
45+
name: GenomicSQLite-Linux-x86_64-so-${{ env.GIT_REVISION }}
46+
path: build/libgenomicsqlite.so

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,4 @@
3333
build/
3434

3535
__pycache__
36+
.vscode/

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
# Genomics Extensions for SQLite
2-
(**GenomicSQLite** for short!) Adds to the [#1 database engine](https://www.sqlite.org/mostdeployed.html):
32

4-
* read/write storage compression using [Zstandard](https://facebook.github.io/zstd/) (also available [standalone](https://github.com/mlin/sqlite_zstd_vfs))
5-
* genomic range indexing for efficient overlap queries & joins
6-
* pre-tuned settings for handling >100GiB datasets
3+
![build](https://github.com/mlin/GenomicSQLite/workflows/build/badge.svg?branch=main)
4+
5+
(**GenomicSQLite** for short!) Adds to the [ubiquitous](https://www.sqlite.org/mostdeployed.html) embedded RDBMS:
6+
7+
* genomic range indexing for overlap queries & joins
8+
* streaming storage compression using [Zstandard](https://facebook.github.io/zstd/) (also available [standalone](https://github.com/mlin/sqlite_zstd_vfs))
9+
* pre-tuned settings for "omics" scale datasets
710

811
Together, these make SQLite a [viable file format](https://www.sqlite.org/appfileformat.html) for storage, transport, and basic analysis of genomic data.
912

10-
Notice: this project is *not* associated with the SQLite dev team.
13+
Notice: this project is *not* associated with the SQLite developers.

0 commit comments

Comments
 (0)