-
Notifications
You must be signed in to change notification settings - Fork 28
138 lines (127 loc) · 4.27 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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.6' # Replace this with the minimum Julia version that your package supports. E.g. if your package requires Julia 1.5 or higher, change this to '1.5'.
#- '1.7' # Leave this line unchanged. '1' will automatically expand to the latest stable 1.x release of Julia.
- '1'
- '~1.9.0-0'
- 'nightly'
os:
#- ubuntu-latest
- ubuntu-20.04
- macos-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
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.6.0
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@v2
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
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/codecov-action@v1
with:
file: lcov.info
#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 }}