Skip to content

Commit 5164cb6

Browse files
committed
feat: release pipeline
1 parent dd941fd commit 5164cb6

2 files changed

Lines changed: 50 additions & 0 deletions

File tree

.github/workflows/clean_build_test.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,29 @@ jobs:
3434
uses: actions/checkout@v4
3535
with:
3636
fetch-depth: 0
37+
3738
- name: Restore Conan cache
3839
uses: actions/cache@v4
3940
with:
4041
path: ~/.conan2
4142
key: ${{ runner.os }}-conan-${{ hashFiles('conanfile.*') }}
4243
restore-keys: |
4344
${{ runner.os }}-conan-
45+
4446
- name: Install conan dependencies
4547
run: |
4648
set -e
4749
rm -rf build
4850
conan profile detect --force
4951
conan install . --build=missing -s build_type=Debug
52+
5053
- name: Build
5154
run: |
5255
set -e
5356
cmake --preset=debug
5457
cmake --build --preset=debug
5558
ctest --preset=debug
59+
5660
- name: Test
5761
run: |
5862
set -e
@@ -66,14 +70,17 @@ jobs:
6670
lcov --remove lcov.info '/home/*' '/usr/*' 'tests/*' --output-file lcov_filtered.info
6771
# `gcovr` FOR SONARQUBE
6872
gcovr -r . --exclude 'tests/*' --sonarqube -o sonar-coverage.xml
73+
6974
- name: clang-tidy (delta)
7075
run: hooks/check_clang_tidy.sh
76+
7177
- name: Upload coverage to Codecov
7278
uses: codecov/codecov-action@v5
7379
with:
7480
token: ${{ secrets.CODECOV_TOKEN }}
7581
files: lcov_filtered.info
7682
continue-on-error: true
83+
7784
- name: SonarQube Scan
7885
uses: SonarSource/sonarqube-scan-action@v6.0.0
7986
env:

.github/workflows/release.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types: [published] # Triggers when a release is published
6+
7+
jobs:
8+
build_release:
9+
runs-on: ubuntu-latest
10+
container:
11+
image: ghcr.io/milsanore/tradercppbuild:v1.6
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Restore Conan cache
17+
uses: actions/cache@v4
18+
with:
19+
path: ~/.conan2
20+
key: ${{ runner.os }}-conan-${{ hashFiles('conanfile.*') }}
21+
restore-keys: |
22+
${{ runner.os }}-conan-
23+
24+
- name: Install conan dependencies
25+
run: |
26+
set -e
27+
rm -rf build
28+
conan profile detect --force
29+
conan install . --build=missing -s build_type=Release
30+
31+
- name: Build
32+
run: |
33+
set -e
34+
cmake --preset=release
35+
cmake --build --preset=release
36+
chmod +x build/Release/tradercpp
37+
38+
- name: Upload release asset
39+
uses: softprops/action-gh-release@v2
40+
with:
41+
files: build/Release/tradercpp
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)