Let a temp fprintf behind (#7775) #2223
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 on different Linux distros, using dockers | |
# | |
name: Docker | |
on: | |
# pull_request: | |
push: | |
branches: | |
- master | |
- 6.[0-9]+ | |
defaults: | |
run: | |
# default to use bash shell | |
shell: bash | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
jobs: | |
docker: | |
name: ${{ matrix.image }} | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ matrix.image }} | |
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: | |
image: | |
- ubuntu:14.04 # CMake 2.8.12 + GNU 4.8.4; EOL: 2024-04-25 | |
- ubuntu:16.04 # CMake 3.5.1 + GNU 5.4.0; EOL: 2026-04-23 | |
- ubuntu:18.04 # CMake 3.10.2 + GNU 7.4.0; EOL: 2028-04-26 | |
- ubuntu:20.04 # CMake 3.16.3 + GNU 9.3.0; EOL: 2030-04-23 | |
- ubuntu:22.04 # CMake 3.22.1 + GNU 11.2.0; EOL: 2032-04-21 | |
- ubuntu:23.04 # CMake 3.24.1 + GNU 12.2.0; EOL: 2024-01-20 | |
- debian:10 # CMake 3.13.4 + GNU 8.3.0; EOL: 2024-06-01 | |
- debian:11 # CMake 3.18.4 + GNU 10.2.1; EOL: 2026-06-01 | |
- debian:12 # CMake 3.25.1 + GNU 12.2.0; EOL: 2028-06-01 | |
- debian:sid # rolling release with latest versions | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3.6.0 | |
- name: Install GMT dependencies | |
run: | | |
apt-get update | |
# tzdata is required for Ubuntu>=20.04 | |
DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" apt-get install -y tzdata | |
apt-get install -y --no-install-recommends --no-install-suggests \ | |
build-essential cmake ninja-build libcurl4-gnutls-dev libnetcdf-dev \ | |
ghostscript curl git \ | |
libgdal-dev libfftw3-dev libpcre3-dev liblapack-dev libglib2.0-dev | |
- 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: bash ci/config-gmt-unix.sh | |
- name: Compile GMT | |
run: | | |
mkdir build | |
cd build | |
cmake -G Ninja .. | |
cmake --build . | |
- name: Download cached GMT remote data from GitHub Artifacts | |
uses: dawidd6/action-download-artifact@v2.27.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 |