Skip to content

Commit ba3f149

Browse files
feat: add github actions workflow
1 parent 99ae716 commit ba3f149

File tree

4 files changed

+120
-0
lines changed

4 files changed

+120
-0
lines changed

.github/FUNDING.yml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ko_fi: craftablescience

.github/ISSUE_TEMPLATE/bug_report.yml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Bug Report
2+
description: Report a bug
3+
title: Bug Title Here
4+
labels: [bug]
5+
body:
6+
- type: textarea
7+
attributes:
8+
label: Describe the Bug
9+
description: A clear description of what the bug is. Feel free to add pictures or videos.
10+
placeholder: |
11+
When I do X then Y happens.
12+
validations:
13+
required: true
14+
- type: textarea
15+
attributes:
16+
label: To Reproduce
17+
description: Steps or code to reproduce the bug.
18+
placeholder: |
19+
1. Launch ...
20+
2. Open ...
21+
3. Do ...
22+
4. See error ...
23+
validations:
24+
required: true
25+
- type: input
26+
attributes:
27+
label: Operating System / Compiler
28+
placeholder: If specific to an OS and/or compiler.
29+
validations:
30+
required: true
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: Feature Request
2+
description: Request a feature
3+
title: Feature Title Here
4+
labels: [enhancement]
5+
body:
6+
- type: textarea
7+
attributes:
8+
label: Describe Your Suggestion
9+
description: Give a clear explanation of what you want to be added. Feel free to add pictures or video.
10+
placeholder: |
11+
Please don't give vague suggestions.
12+
How does it work? What is the expected outcome?
13+
validations:
14+
required: true

.github/workflows/test.yml

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Test
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
branches: [main]
7+
workflow_dispatch:
8+
# nothing here
9+
jobs:
10+
build-linux:
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
build_type: [Debug, Release]
15+
compiler: [gcc, clang]
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout Repository
19+
uses: actions/checkout@v3
20+
with:
21+
submodules: recursive
22+
23+
- name: Install GCC
24+
if: ${{matrix.compiler == 'gcc'}}
25+
uses: egor-tensin/setup-gcc@v1
26+
with:
27+
version: 11
28+
platform: x64
29+
30+
- name: Install Clang
31+
if: ${{matrix.compiler == 'clang'}}
32+
uses: egor-tensin/setup-clang@v1
33+
with:
34+
version: 13
35+
platform: x64
36+
37+
- name: Configure CMake
38+
run: cmake -G "Unix Makefiles" -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}}
39+
40+
- name: Build
41+
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} -- -j$(nproc)
42+
43+
- name: Test
44+
working-directory: ${{github.workspace}}/build
45+
run: ctest -C ${{matrix.build_type}}
46+
47+
build-msvc:
48+
strategy:
49+
matrix:
50+
build_type: [Debug, Release]
51+
runs-on: windows-latest
52+
defaults:
53+
run:
54+
shell: cmd
55+
steps:
56+
- name: Checkout Repository
57+
uses: actions/checkout@v3
58+
with:
59+
submodules: recursive
60+
61+
- name: Set up MSVC
62+
uses: ilammy/msvc-dev-cmd@v1
63+
with:
64+
arch: x64
65+
spectre: true
66+
67+
- name: Configure CMake
68+
run: cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}}
69+
70+
- name: Build
71+
run: cmake --build build --config ${{matrix.build_type}}
72+
73+
- name: Test
74+
working-directory: ${{github.workspace}}/build
75+
run: ctest -C ${{matrix.build_type}}

0 commit comments

Comments
 (0)