Skip to content

Commit ff06d1f

Browse files
committed
Add build action to build libmongoc system libraries
1 parent 5d1f8f4 commit ff06d1f

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: "Build libmongoc"
2+
description: "Builds and install libmongoc"
3+
inputs:
4+
prefix:
5+
description: "Prefix to install libmongoc to"
6+
default: "/usr/local"
7+
version:
8+
description: "Libmongoc version to build"
9+
required: true
10+
runs:
11+
using: composite
12+
13+
steps:
14+
- name: Download libmongoc
15+
shell: bash
16+
working-directory: /tmp
17+
run: wget "https://github.com/mongodb/mongo-c-driver/archive/refs/tags/${LIBMONGOC_VERSION}.tar.gz" --output-document="mongo-c-driver.tar.gz"
18+
env:
19+
LIBMONGOC_VERSION: ${{ inputs.version }}
20+
21+
- name: Extract libmongoc
22+
shell: bash
23+
working-directory: /tmp
24+
run: tar xf "mongo-c-driver.tar.gz"
25+
26+
- name: Configure cmake
27+
shell: bash
28+
working-directory: /tmp
29+
run: cmake -S "mongo-c-driver-${LIBMONGOC_VERSION}" -B _build \
30+
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
31+
-D BUILD_VERSION="${LIBMONGOC_VERSION}" \
32+
-D ENABLE_MONGOC=ON
33+
env:
34+
LIBMONGOC_VERSION: ${{ inputs.version }}
35+
36+
- name: Build libmongoc
37+
shell: bash
38+
working-directory: /tmp
39+
run: cmake --build _build --config RelWithDebInfo --parallel
40+
41+
- name: Install libmongoc
42+
shell: bash
43+
working-directory: /tmp
44+
run: sudo cmake --install _build --prefix "${PREFIX}" --config RelWithDebInfo
45+
env:
46+
PREFIX: ${{ inputs.prefix }}
47+
48+
- name: Check pkg-config availability
49+
shell: bash
50+
run: pkg-config --modversion mongoc2

.github/workflows/system-libs.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: "System library tests"
2+
3+
on:
4+
push:
5+
branches:
6+
- "build-system-libs"
7+
8+
jobs:
9+
tests:
10+
name: "Build"
11+
runs-on: "ubuntu-24.04"
12+
13+
steps:
14+
- name: "Checkout"
15+
uses: "actions/checkout@v4"
16+
with:
17+
submodules: true
18+
19+
- name: "Build libmongoc"
20+
id: build-libmongoc
21+
uses: ./.github/actions/linux/build-libmongoc
22+
with:
23+
version: 2.0.1

0 commit comments

Comments
 (0)