Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 22 additions & 38 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,8 +306,11 @@ jobs:
con.close()
PY

# ── Build extensions (release) ────────────────────────────────
- name: Build extensions
# ── Build extensions, test infrastructure, and extension tests ──
# Single release build with ccache — replaces what was previously 3
# separate cmake invocations (extension-release + relwithdebinfo +
# extension-test-build).
- name: Build extensions and tests
working-directory: ladybug
env:
GH_TOKEN: ${{ github.token }}
Expand All @@ -320,45 +323,21 @@ jobs:
-DOPENSSL_INCLUDE_DIR=/usr/include/openssl3 \
-DOPENSSL_CRYPTO_LIBRARY=/usr/lib64/openssl3/libcrypto.so \
-DOPENSSL_SSL_LIBRARY=/usr/lib64/openssl3/libssl.so"
make extension-release

# ── Build test infrastructure ─────────────────────────────────
- name: Build full test infrastructure (relwithdebinfo)
working-directory: ladybug
env:
GH_TOKEN: ${{ github.token }}
run: |
source /opt/rh/gcc-toolset-13/enable
export CC=gcc
export CXX=g++
export EXTRA_CMAKE_FLAGS="\
-DOPENSSL_ROOT_DIR=/usr/lib64/openssl3 \
-DOPENSSL_INCLUDE_DIR=/usr/include/openssl3 \
-DOPENSSL_CRYPTO_LIBRARY=/usr/lib64/openssl3/libcrypto.so \
-DOPENSSL_SSL_LIBRARY=/usr/lib64/openssl3/libssl.so"
make relwithdebinfo
cp build/relwithdebinfo/tools/shell/lbug lbug.prod

- name: Build extension tests
working-directory: ladybug
env:
GH_TOKEN: ${{ github.token }}
run: |
source /opt/rh/gcc-toolset-13/enable
export CC=gcc
export CXX=g++
export EXTRA_CMAKE_FLAGS="\
-DOPENSSL_ROOT_DIR=/usr/lib64/openssl3 \
-DOPENSSL_INCLUDE_DIR=/usr/include/openssl3 \
-DOPENSSL_CRYPTO_LIBRARY=/usr/lib64/openssl3/libcrypto.so \
-DOPENSSL_SSL_LIBRARY=/usr/lib64/openssl3/libssl.so"
make extension-test-build
cp lbug.prod build/relwithdebinfo/tools/shell/lbug
cmake -B build/release \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_EXTENSIONS="${EXTENSION_LIST}" \
-DBUILD_EXTENSION_TESTS=TRUE \
-DBUILD_TESTS=TRUE \
-DBUILD_SHELL=TRUE \
-DENABLE_BACKTRACES=TRUE \
${EXTRA_CMAKE_FLAGS} .
cmake --build build/release -j "$(nproc)"
cp build/release/tools/shell/lbug lbug.prod

# ── Test fixtures ─────────────────────────────────────────────
- name: Generate test dataset
working-directory: ladybug
run: uv run python3 scripts/generate-tinysnb.py
run: uv run python3 scripts/generate-tinysnb.py release

- name: Start extension repo server (for remote-load tests)
working-directory: ladybug
Expand All @@ -367,13 +346,18 @@ jobs:
sleep 3

# ── Run tests ─────────────────────────────────────────────────
# Runs both the e2e test runner (via pgembed Postgres fixture) and
# extension unit tests — matching what `make extension-test` does.
- name: Run extension tests
working-directory: ladybug
env:
E2E_TEST_FILES_DIRECTORY: extension
run: |
source /opt/rh/gcc-toolset-13/enable
ctest --test-dir build/relwithdebinfo/extension --output-on-failure -j "$(nproc)"
cp lbug.prod build/release/tools/shell/lbug
uv run --python 3.12 python3 scripts/run_pgembed_fixture.py -- \
ctest --test-dir build/release/test/runner --output-on-failure -j 1 --exclude-regex "" && \
ctest --test-dir build/release/extension --output-on-failure -j "$(nproc)" --exclude-regex ""

# ── Collect & upload artifacts ────────────────────────────────
- name: Collect built artifacts
Expand Down
Loading