Final grdimage upgrade related to transparency #7475
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Build GMT and run a few simple tests | |
# | |
name: Build | |
on: | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- '!doc/**/CMakeLists.txt' | |
push: | |
branches: | |
- master | |
- 6.[0-9]+ | |
paths-ignore: | |
- 'doc/**' | |
- '!doc/**/CMakeLists.txt' | |
defaults: | |
run: | |
# default to use bash shell | |
shell: bash | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
jobs: | |
build: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
env: | |
# directories | |
COASTLINEDIR: ${{ github.workspace }}/coastline | |
INSTALLDIR: ${{ github.workspace }}/gmt-install-dir | |
# disable auto-display of GMT plots | |
GMT_END_SHOW: off | |
# Compile only | |
BUILD_DOCS : false | |
PACKAGE : false | |
RUN_TESTS : false | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Linux | |
os: ubuntu-latest | |
- name: macOS | |
os: macos-latest | |
- name: Windows | |
os: windows-latest | |
- name: Linux (without optional dependencies) | |
os: ubuntu-latest | |
EXCLUDE_OPTIONAL : true | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3.6.0 | |
- name: Setup vcpkg (Windows) | |
uses: dawidd6/action-download-artifact@v3.0.0 | |
with: | |
workflow: ci-caches.yml | |
name: vcpkg-cache | |
path: C:\vcpkg\installed\ | |
if: runner.os == 'Windows' | |
- name: Install GMT dependencies | |
run: | | |
# $RUNNER_OS can be Linux, macOS or Windows | |
# The following command converts $RUNNER_OS to lowercase | |
os=$(echo "$RUNNER_OS" | tr '[:upper:]' '[:lower:]') | |
bash ci/install-dependencies-${os}.sh | |
env: | |
EXCLUDE_OPTIONAL: ${{ matrix.EXCLUDE_OPTIONAL }} | |
- name: Cache GSHHG and DCW data | |
uses: actions/cache@v3 | |
id: cache-coastline | |
with: | |
path: ${{ env.COASTLINEDIR }} | |
key: coastline-${{ hashFiles('ci/download-coastlines.sh') }} | |
- name: Download coastlines | |
run: bash ci/download-coastlines.sh | |
if: steps.cache-coastline.outputs.cache-hit != 'true' | |
- name: Configure GMT | |
run: | | |
if [ "$RUNNER_OS" != "Windows" ]; then | |
bash ci/config-gmt-unix.sh | |
else | |
bash ci/config-gmt-windows.sh | |
fi | |
- name: Compile GMT (Linux/macOS) | |
run: | | |
mkdir build | |
cd build | |
cmake -G Ninja .. | |
cmake --build . | |
if: runner.os != 'Windows' | |
- name: Compile GMT (Windows) | |
shell: cmd | |
run: | | |
mkdir build | |
cd build | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
cmake -G Ninja .. -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Release | |
cmake --build . | |
if: runner.os == 'Windows' | |
- name: Download cached GMT remote data from GitHub Artifacts | |
uses: dawidd6/action-download-artifact@v3.0.0 | |
with: | |
workflow: ci-caches.yml | |
name: gmt-cache | |
path: .gmt | |
# Move downloaded files to ~/.gmt directory and list them | |
- name: Move and list downloaded remote files | |
run: | | |
mkdir -p ~/.gmt | |
mv .gmt/* ~/.gmt | |
ls -lRh ~/.gmt | |
- name: Install GMT | |
run: | | |
cd build | |
cmake --build . --target install | |
# Add GMT PATH to bin | |
echo "${INSTALLDIR}/bin" >> $GITHUB_PATH | |
- name: Check a few simple commands | |
run: bash ci/simple-gmt-tests.sh | |
- name: Check a few simple commands (Windows) | |
shell: cmd | |
run: call ci/simple-gmt-tests.bat | |
if: runner.os == 'Windows' |