Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

docker.yml 3.3 KB

You have to be logged in to leave a comment. Sign In
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
  1. #
  2. # Build GMT on different Linux distros, using dockers
  3. #
  4. name: Docker
  5. on:
  6. # pull_request:
  7. push:
  8. branches:
  9. - master
  10. - 6.[0-9]+
  11. defaults:
  12. run:
  13. # default to use bash shell
  14. shell: bash
  15. jobs:
  16. docker:
  17. name: ${{ matrix.image }}
  18. runs-on: ubuntu-latest
  19. container:
  20. image: ${{ matrix.image }}
  21. env:
  22. # directories
  23. COASTLINEDIR: ${{ github.workspace }}/coastline
  24. INSTALLDIR: ${{ github.workspace }}/gmt-install-dir
  25. # disable auto-display of GMT plots
  26. GMT_END_SHOW: off
  27. # Compile only
  28. BUILD_DOCS : false
  29. PACKAGE : false
  30. RUN_TESTS : false
  31. strategy:
  32. fail-fast: false
  33. matrix:
  34. image:
  35. - ubuntu:14.04 # CMake 2.8.12 + GNU 4.8.4; EOL: 2024-04-25
  36. - ubuntu:16.04 # CMake 3.5.1 + GNU 5.4.0; EOL: 2026-04-23
  37. - ubuntu:18.04 # CMake 3.10.2 + GNU 7.4.0; EOL: 2028-04-26
  38. - ubuntu:20.04 # CMake 3.16.3 + GNU 9.3.0; EOL: 2030-04-23
  39. - ubuntu:21.04 # CMake 3.18.4 + GNU 10.3.0; EOL: 2022-01-20
  40. - ubuntu:21.10 # CMake 3.18.4 + GNU 11.2.0; EOL: 2022-07-14
  41. - debian:9 # CMake 3.7.2 + GNU 6.3.0; EOL: 2022-06-30
  42. - debian:10 # CMake 3.13.4 + GNU 8.3.0; EOL: 2024-06-01
  43. - debian:11 # CMake 3.18.4 + GNU 10.2.1; EOL: 2026-06-01
  44. - debian:sid # rolling release with latest versions
  45. steps:
  46. - name: Cancel Previous Runs
  47. uses: styfle/cancel-workflow-action@0.9.1
  48. - name: Checkout
  49. uses: actions/checkout@v2
  50. - name: Install GMT dependencies
  51. run: |
  52. apt-get update
  53. # tzdata is required for Ubuntu>=20.04
  54. DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" apt-get install -y tzdata
  55. apt-get install -y --no-install-recommends --no-install-suggests \
  56. build-essential cmake ninja-build libcurl4-gnutls-dev libnetcdf-dev \
  57. ghostscript curl git \
  58. libgdal-dev libfftw3-dev libpcre3-dev liblapack-dev libglib2.0-dev
  59. - name: Cache GSHHG and DCW data
  60. uses: actions/cache@v2
  61. id: cache-coastline
  62. with:
  63. path: ${{ env.COASTLINEDIR }}
  64. key: coastline-${{ hashFiles('ci/download-coastlines.sh') }}
  65. - name: Download coastlines
  66. run: bash ci/download-coastlines.sh
  67. if: steps.cache-coastline.outputs.cache-hit != 'true'
  68. - name: Configure GMT
  69. run: bash ci/config-gmt-unix.sh
  70. - name: Compile GMT
  71. run: |
  72. mkdir build
  73. cd build
  74. cmake -G Ninja ..
  75. cmake --build .
  76. - name: Download cached GMT remote data from GitHub Artifacts
  77. uses: dawidd6/action-download-artifact@v2.15.0
  78. with:
  79. workflow: ci-caches.yml
  80. name: gmt-cache
  81. path: .gmt
  82. # Move downloaded files to ~/.gmt directory and list them
  83. - name: Move and list downloaded remote files
  84. run: |
  85. mkdir -p ~/.gmt
  86. mv .gmt/* ~/.gmt
  87. ls -lRh ~/.gmt
  88. - name: Install GMT
  89. run: |
  90. cd build
  91. cmake --build . --target install
  92. # Add GMT PATH to bin
  93. echo "${INSTALLDIR}/bin" >> $GITHUB_PATH
  94. - name: Check a few simple commands
  95. run: bash ci/simple-gmt-tests.sh
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...