Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Build GMT dev source code with OpenMP enabled on Linux and GThreads enabled on Linux/macOS #3011

Merged
merged 3 commits into from
May 21, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
42 changes: 32 additions & 10 deletions .github/workflows/ci_tests_dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
# installed by fetching the latest source codes from the GMT master branch and
# compiling.
#
# It is triggered when a pull request is marked as "ready as review", or labeled with
# 'run/test-gmt-dev'. It is also scheduled to run on Monday, Wednesday, and Friday on
# the main branch.
# It is triggered in a pull request if labeled with 'run/test-gmt-dev'.
# It is also scheduled to run on Monday, Wednesday, and Friday on the main branch.
#
name: GMT Dev Tests

Expand Down Expand Up @@ -87,18 +86,42 @@ jobs:
pcre
zlib

# Build and install latest GMT from GitHub
- name: Install GMT ${{ matrix.gmt_git_ref }} branch (Linux/macOS)
run: curl https://raw.githubusercontent.com/GenericMappingTools/gmt/master/ci/build-gmt.sh | bash
# Checkout current GMT repository
- name: Checkout the GMT source from ${{ matrix.gmt_git_ref }} branch
uses: actions/checkout@v4.1.4
with:
repository: 'GenericMappingTools/gmt'
ref: ${{ matrix.gmt_git_ref }}
path: 'gmt'

# Build GMT from source on Linux/macOS, script is adapted from
# https://github.com/GenericMappingTools/gmt/blob/6.5.0/ci/build-gmt.sh
- name: Build GMT on Linux/macOS
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
GMT_ENABLE_OPENMP=FALSE
else
GMT_ENABLE_OPENMP=TRUE
fi
cd gmt/
mkdir build
cd build
cmake -G Ninja .. \
-DCMAKE_INSTALL_PREFIX=${{ env.GMT_INSTALL_DIR }} \
-DCMAKE_BUILD_TYPE=Release \
-DGMT_ENABLE_OPENMP=${GMT_ENABLE_OPENMP} \
-DGMT_USE_THREADS=TRUE
cmake --build .
cmake --build . --target install
cd ..
rm -rf gmt/
env:
GMT_GIT_REF: ${{ matrix.gmt_git_ref }}
GMT_INSTALL_DIR: ${{ runner.temp }}/gmt-install-dir
if: runner.os != 'Windows'

- name: Install GMT ${{ matrix.gmt_git_ref }} branch (Windows)
- name: Build GMT on Windows
shell: cmd
run: |
git clone --depth=1 --single-branch --branch ${{ env.GMT_GIT_REF }} https://github.com/GenericMappingTools/gmt
cd gmt/
mkdir build
cd build
Expand All @@ -114,7 +137,6 @@ jobs:
cd ..
rm -rf gmt/
env:
GMT_GIT_REF: ${{ matrix.gmt_git_ref }}
GMT_INSTALL_DIR: ${{ runner.temp }}/gmt-install-dir
if: runner.os == 'Windows'

Expand Down