Skip to content

Commit 2d05684

Browse files
committed
added additional github workflows
1 parent a23e6ee commit 2d05684

File tree

6 files changed

+263
-0
lines changed

6 files changed

+263
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
tags:
6+
- "*"
7+
8+
env:
9+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
10+
11+
permissions:
12+
contents: write
13+
14+
15+
jobs:
16+
build:
17+
name: Build and publish documentation
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v3
21+
22+
- uses: actions/cache@v3
23+
with:
24+
path: "**/cpm_modules"
25+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
26+
27+
- name: Install python dependencies
28+
run: |
29+
pip3 install jinja2==3.1.6 Pygments==2.19.1
30+
31+
- name: Install Doxygen
32+
uses: ssciwr/doxygen-install@v1
33+
with:
34+
version: "1.13.2"
35+
36+
- name: Build
37+
run: |
38+
cmake -S cpp/documentation -Bbuild
39+
cmake --build build --target GenerateDocs
40+
41+
- name: Publish
42+
uses: peaceiris/actions-gh-pages@v4
43+
with:
44+
github_token: ${{ secrets.GITHUB_TOKEN }}
45+
publish_dir: ./build/doxygen/html

.github/workflows/install.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Install
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- uses: actions/cache@v3
25+
with:
26+
path: "**/cpm_modules"
27+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
28+
29+
- name: Install build deps
30+
run: |
31+
sudo apt-get update
32+
sudo apt-get install -y libcurl4-openssl-dev
33+
34+
- name: build and install library
35+
run: |
36+
cmake -S cpp -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$PWD/local"
37+
sudo cmake --build build --target install
38+
39+
- name: configure (tests)
40+
run: cmake -S cpp/test -Bbuild-test -DTEST_INSTALLED_VERSION=1 -DCMAKE_PREFIX_PATH="$PWD/local"
41+
42+
- name: build (tests)
43+
run: cmake --build build-test --config Debug -j4
44+
45+
- name: test
46+
run: |
47+
cd build-test
48+
ctest --build-config Debug
49+
50+
- name: cleanup
51+
run: |
52+
sudo rm -rf build build-test
53+

.github/workflows/macos.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: MacOS
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
16+
17+
jobs:
18+
build:
19+
runs-on: macos-latest
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- uses: actions/cache@v3
25+
with:
26+
path: "**/cpm_modules"
27+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
28+
29+
- name: Install macOS build dependencies
30+
run: |
31+
brew update
32+
brew install autoconf automake libtool
33+
34+
- name: configure
35+
run: cmake -S cpp/test -Bbuild -DCMAKE_BUILD_TYPE=Debug
36+
37+
- name: build
38+
run: cmake --build build -j4
39+
40+
- name: test
41+
run: |
42+
cd build
43+
ctest --build-config Debug

.github/workflows/standalone.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Standalone
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
23+
- uses: actions/cache@v3
24+
with:
25+
path: "**/cpm_modules"
26+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
27+
28+
- name: Install build deps
29+
run: |
30+
sudo apt-get update
31+
sudo apt-get install -y libcurl4-openssl-dev
32+
33+
- name: configure
34+
run: cmake -S cpp/standalone -Bbuild -DCMAKE_BUILD_TYPE=Debug
35+
36+
- name: build
37+
run: cmake --build build -j4
38+
39+
- name: run
40+
run: ./build/Aligncount --help

.github/workflows/style.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Style
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
23+
- uses: actions/cache@v3
24+
with:
25+
path: "**/cpm_modules"
26+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
27+
28+
- name: Install format dependencies
29+
run: pip3 install clang-format==14.0.6 cmake_format==0.6.11 pyyaml
30+
31+
- name: configure
32+
run: cmake -S cpp/test -Bbuild
33+
34+
- name: check style
35+
run: cmake --build build --target check-format

.github/workflows/ubuntu.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Ubuntu
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
16+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: actions/checkout@v3
24+
25+
- uses: actions/cache@v3
26+
with:
27+
path: "**/cpm_modules"
28+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
29+
30+
- name: Install build deps
31+
run: |
32+
sudo apt-get update
33+
sudo apt-get install -y libcurl4-openssl-dev
34+
35+
- name: configure
36+
run: cmake -S cpp/test -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
37+
38+
- name: build
39+
run: cmake --build build -j4
40+
41+
- name: test
42+
run: |
43+
cd build
44+
ctest --build-config Debug
45+
46+
- name: collect code coverage
47+
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"

0 commit comments

Comments
 (0)