Merge pull request #1530 from GenericMappingTools/stabilitish2 #2330
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
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 }} |