-
Notifications
You must be signed in to change notification settings - Fork 28
144 lines (133 loc) · 4.32 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
139
140
141
142
143
144
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 }}