Skip to content

Commit fcafb7f

Browse files
add conanfile
1 parent 783807c commit fcafb7f

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

.github/workflows/conanfile_ci.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Conan CI
2+
3+
on:
4+
schedule:
5+
- cron: '15 21 * * *'
6+
push:
7+
branches:
8+
# Match branches with version numbers like 1.2.8, 2.0.0, etc.
9+
- '[0-9]+.[0-9]+.[0-9]+'
10+
tags:
11+
- 'v*' # Tag releases like v1.2.8
12+
pull_request:
13+
branches:
14+
- '[0-9]+.[0-9]+.[0-9]+'
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout repository
22+
uses: actions/checkout@v5
23+
24+
- name: Set up Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: "3.11"
28+
29+
- name: Cache pip
30+
uses: actions/cache@v4
31+
with:
32+
path: ~/.cache/pip
33+
key: ${{ runner.os }}-pip
34+
35+
- name: Cache Conan
36+
uses: actions/cache@v4
37+
with:
38+
path: ~/.conan
39+
key: ${{ runner.os }}-conan
40+
41+
- name: Install system packages
42+
run: |
43+
sudo apt update
44+
sudo apt install -y ninja-build pkg-config python3-pip build-essential
45+
46+
- name: Install Meson and Conan
47+
run: |
48+
pip install --upgrade pip
49+
pip install meson==1.8.0 conan==2.3.2
50+
51+
- name: Detect Conan profile
52+
run: conan profile detect
53+
54+
- name: Install dependencies
55+
run: conan install . --profile default --build=missing
56+
57+
- name: Build
58+
run: |
59+
meson setup -Dwith_test=enabled builddir
60+
meson compile -C builddir -v
61+
62+
- name: Test
63+
run: meson test -C builddir -v
64+
65+
- name: Package
66+
run: |
67+
PKG_NAME=$(echo "${{ github.event.repository.name }}" | tr '-' '_')
68+
conan create . --name=$PKG_NAME --version=${{ github.ref_name }}

0 commit comments

Comments
 (0)