Skip to content

Merge pull request #1530 from GenericMappingTools/stabilitish2 #2330

Merge pull request #1530 from GenericMappingTools/stabilitish2

Merge pull request #1530 from GenericMappingTools/stabilitish2 #2330

Workflow file for this run

name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
tags: '*'
defaults:
run:
# default to use bash shell
shell: bash
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
env:
COASTLINEDIR: ${{ github.workspace }}/coastline
JULIA_NUM_THREADS: 2
strategy:
fail-fast: false
matrix:
version:
#- '1.7' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia.
- '1'
- '~1.11.0-0'
#- 'nightly'
os:
- ubuntu-latest
#- ubuntu-20.04
- macos-latest
- windows-latest
arch:
- x64
include:
# Linux
- name: Linux - Compile only
#os: ubuntu-20.04
os: ubuntu-latest
run_in_pr : true
- name: macOS
os: macos-latest
run_in_pr : true
- name: Windows
os: windows-latest
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v2
if: matrix.run_in_pr == true || github.event_name != 'pull_request'
- 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
if: matrix.run_in_pr == true || github.event_name != 'pull_request'
- name: Cache GSHHG and DCW data
uses: actions/cache@v2
id: cache-coastline
with:
path: ${{ env.COASTLINEDIR }}
key: coastline-${{ hashFiles('ci/download-coastlines.sh') }}
if: matrix.run_in_pr == true || github.event_name != 'pull_request'
- name: Install GMT
run: |
bash ci/build-gmt.sh
# Add GMT PATH to bin
GMT_INSTALL_DIR=${GMT_INSTALL_DIR:-${HOME}/gmt-install-dir}
echo "${GMT_INSTALL_DIR}/bin" >> $GITHUB_PATH
if: matrix.run_in_pr == true || github.event_name != 'pull_request'
- name: Check a few simple commands
run: |
set -x -e
gmt --version
gmt --help
gmt begin testmap; gmt basemap -R0/9/0/5 -Jx1 -Bf1a2 -Bx+lDistance -By+l"No of samples" -BWeS; gmt end
if: matrix.run_in_pr == true || github.event_name != 'pull_request'
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ env.cache-name }}-
${{ runner.os }}-test-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/[email protected]
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
fail_ci_if_error: false
file: lcov.info
if: always()
#docs:
#name: Documentation
##runs-on: ubuntu-latest
##runs-on: ubuntu-18.04
##runs-on: macos-latest
#runs-on: windows-latest
#steps:
#- uses: actions/checkout@v2
#- uses: julia-actions/setup-julia@v1
#with:
#version: '1'
#- run: |
#julia --project=docs -e '
#using Pkg
#Pkg.add("Documenter")
#Pkg.develop(PackageSpec(path=pwd()))
#Pkg.instantiate()'
##- run: |
##julia --project=docs -e '
##using Documenter: doctest
##using GMT
##doctest(GMT)' # change MYPACKAGE to the name of your package
#- run: julia --project=docs docs/make.jl
#env:
#GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}