Skip to content

CI: Add workflow to publish Docker images #205

CI: Add workflow to publish Docker images

CI: Add workflow to publish Docker images #205

Workflow file for this run

name: Linux builds
on:
push:
pull_request:
workflow_dispatch:
jobs:
build-library:
strategy:
fail-fast: false
matrix:
ci:
- name: "GEOS 3.12, CLI, PYTHON"
tag: geos312
build_cli: YES
build_python: YES
- name: "GEOS 3.11"
tag: geos311
build_cli: NO
build_python: NO
- name: "GEOS 3.10"
tag: geos310
build_cli: NO
build_python: NO
- name: "GEOS 3.9"
tag: geos39
build_cli: NO
build_python: NO
- name: "GEOS 3.8"
tag: geos38
build_cli: NO
build_python: NO
name: ${{ matrix.ci.name }}
runs-on: ubuntu-latest
container: isciences/exactextract-test-env:${{ matrix.ci.tag }}
steps:
- uses: actions/checkout@v4
- name: configure
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Coverage -DBUILD_CLI=${{ matrix.ci.build_cli }} -DBUILD_PYTHON=${{ matrix.ci.build_python }} ..
- name: build
run: |
cd build
cmake --build . -j $(nproc)
- name: test
run: |
cd build
valgrind --leak-check=full --error-exitcode=1 test/catch_tests
ctest -R cli --output-on-failure
ctest -R pybindings --output-on-failure
- name: generate coverage report
run: |
cd build
mkdir -p python/CMakeFiles
lcov --capture --directory CMakeFiles --directory python/CMakeFiles --output-file coverage.info
- name: upload coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: build/coverage.info