Skip to content

Commit

Permalink
Merge 6.0 branch
Browse files Browse the repository at this point in the history
  • Loading branch information
seisman committed Aug 30, 2019
2 parents ff7f807 + 2d4df1b commit e396f99
Show file tree
Hide file tree
Showing 657 changed files with 7,158 additions and 6,128 deletions.
185 changes: 107 additions & 78 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,129 +7,152 @@ trigger:
branches:
include:
- master
- 6.0
- 5.4
- refs/tags/*

# Scheduled build
schedules:
- cron: "0 0 * * *"
displayName: Scheduled daily build
branches:
include:
- master
- 6.0
always: true
- cron: "0 0 1 * *"
displayName: Scheduled monthly build
branches:
include:
- 5.4
always: true

jobs:

# Linux - Compile only
########################################################################################
- job:
displayName: 'Linux | Compile only'
condition: ne(variables['Build.Reason'], 'Schedule')

pool:
vmImage: 'ubuntu-16.04'

variables:
BUILD_DOCS: false
PACKAGE: false
TEST: false

steps:
- template: ci/azure-pipelines-linux.yml

# Linux - Build docs + Package
########################################################################################
- job:
displayName: 'Linux | Build docs + Package'
condition: eq(variables['Build.Reason'], 'Schedule')

pool:
vmImage: 'ubuntu-16.04'

variables:
BUILD_DOCS: true
PACKAGE: true
TEST: false

steps:
- template: ci/azure-pipelines-linux.yml

# Linux - Test
########################################################################################
- job:
displayName: 'Linux | Test'
condition: eq(variables['Build.Reason'], 'Schedule')

pool:
vmImage: 'ubuntu-16.04'

variables:
BUILD_DOCS: false
PACKAGE: false
TEST: true

steps:
- template: ci/azure-pipelines-linux.yml

# Mac - Compile only
########################################################################################
- job:
displayName: 'Mac | Compile only'
condition: ne(variables['Build.Reason'], 'Schedule')

pool:
vmImage: 'macOS-10.13'
vmImage: 'macOS-10.14'

variables:
BUILD_DOCS: false
PACKAGE: false
TEST: false

steps:

# Setup and compile GMT
- template: ci/azure-pipelines-mac.yml

- bash: |
set -x -e
gmt defaults -Vd
gmt pscoast -R0/10/0/10 -JM6i -Ba -Ggray -P -Vd > test.ps
gmt begin && gmt coast -R0/10/0/10 -JM6i -Ba -Ggray -Vd && gmt end
displayName: Check a few simple commands
# Mac - Build docs + Package
########################################################################################
- job:
displayName: 'Mac | Build docs + Package'
condition: eq(variables['Build.Reason'], 'Schedule')

pool:
vmImage: 'macOS-10.13'
vmImage: 'macOS-10.14'

variables:
BUILD_DOCS: true
PACKAGE: true
TEST: false

steps:

# Setup and compile GMT
- template: ci/azure-pipelines-mac.yml

- bash: |
set -x -e
gmt defaults -Vd
gmt pscoast -R0/10/0/10 -JM6i -Ba -Ggray -P -Vd > test.ps
gmt begin && gmt coast -R0/10/0/10 -JM6i -Ba -Ggray -Vd && gmt end
displayName: Check a few simple commands
- bash: |
cd build
cmake --build . --target docs_html_depends
cmake --build . --target docs_man_depends
cmake --build . --target docs_html
cmake --build . --target docs_man
displayName: Build documentations
- bash: |
cd build
cmake --build . --target gmt_release
cmake --build . --target gmt_release_tar
cpack -G Bundle
md5sum gmt-*.tar gmt-*.tar.gz gmt-*.tar.xz GMT-*.dmg
displayName: Package GMT
# Mac - Test
########################################################################################
- job:
displayName: 'Mac | Test'
condition: eq(variables['Build.Reason'], 'Schedule')

pool:
vmImage: 'macOS-10.13'
vmImage: 'macOS-10.14'

variables:
BUILD_DOCS: false
PACKAGE: false
TEST: true

steps:

# Setup and compile GMT
- template: ci/azure-pipelines-mac.yml

- bash: |
set -x -e
gmt defaults -Vd
gmt pscoast -R0/10/0/10 -JM6i -Ba -Ggray -P -Vd > test.ps
gmt begin && gmt coast -R0/10/0/10 -JM6i -Ba -Ggray -Vd && gmt end
displayName: Check a few simple commands
# Run the full tests only if this is a scheduled build
- bash: |
set -x -e
cd build
# Download remote files before testing, see #939.
curl http://www.soest.hawaii.edu/gmt/data/gmt_md5_server.txt | awk 'NF==3 && $1!~/earth/ {print "@"$1}' | xargs gmt which -Gc
gmt which -Gu @earth_relief_02m @earth_relief_05m
ctest --output-on-failure --force-new-ctest-process -j4
displayName: Full tests
# Upload test coverage even if build fails. Keep separate to make sure this task fails
# if the tests fail.
- bash: |
set -x -e
bash <(curl -s https://codecov.io/bash)
env:
CODECOV_TOKEN: $(codecov.token)
condition: succeededOrFailed()
displayName: Upload test coverage
# Windows - Compile + Build Docs + Package
# Windows - Compile only
########################################################################################
- job:
displayName: 'Windows | Compile only'
condition: ne(variables['Build.Reason'], 'Schedule')
timeoutInMinutes: 120

pool:
vmImage: 'vs2017-win2016'

variables:
BUILD_DOCS: false
PACKAGE: false
TEST: false

steps:
- template: ci/azure-pipelines-windows.yml

# Windows - Build Docs + Package
########################################################################################
- job:
displayName: 'Windows | Compile + Build Docs + Package'
displayName: 'Windows | Build Docs + Package'
condition: eq(variables['Build.Reason'], 'Schedule')
timeoutInMinutes: 120

Expand All @@ -142,16 +165,22 @@ jobs:
TEST: false

steps:

# Setup and compile GMT
- template: ci/azure-pipelines-windows.yml

# Set HOME to avoid permission issue of azure-pipelines
- bash: echo "##vso[task.setvariable variable=HOME]D:/a/1/s/"
displayName: Set HOME
# Windows - Test
########################################################################################
- job:
displayName: 'Windows | Test'
condition: eq(variables['Build.Reason'], 'Schedule')
timeoutInMinutes: 360

pool:
vmImage: 'vs2017-win2016'

variables:
BUILD_DOCS: false
PACKAGE: false
TEST: true

- script: |
gmt defaults -Vd
gmt pscoast -R0/10/0/10 -JM6i -Ba -Ggray -P -Vd > test.ps
gmt begin && gmt coast -R0/10/0/10 -JM6i -Ba -Ggray -Vd && gmt end
displayName: Check a few simple commands
steps:
- template: ci/azure-pipelines-windows.yml
21 changes: 15 additions & 6 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
---
name: Bug report
about: Report a problem/bug to help us improve
title: ''
labels: ''
assignees: ''

---

**Description of the problem**

<!--To help us understand and resolve your issue, please fill out the form to the best of your ability. Feel free to delete the sections that do not apply.-->

**Description of the problem**

<!-- Please be as detailed as you can when describing an issue. The more information we have, the easier it will be for us to track this down. -->

Expand All @@ -15,20 +18,26 @@ about: Report a problem/bug to help us improve
<!-- It helps a lot if you share any data files required to run your script. You can drag-and-drop them here or paste a link to Dropbox/GoogleDrive/etc. -->

```
PASTE CODE HERE
# PASTE CODE HERE
```


**Full error message**

<!-- Tip: you'll get more detailed error messages if you add -Vd to your gmt commands. -->

```
PASTE ERROR MESSAGE HERE
# PASTE ERROR MESSAGE HERE
```

**Actual outcome**

<!--The output produced by the above script, which may be a screenshot, console output, etc.-->

**Expected outcome**

<!--A description of the expected outcome from the above script.-->

**System information**

* Operating system:
* Version of GMT:
* GMT version (`gmt --version`):
3 changes: 3 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
name: Feature request
about: Request the addition of a new feature/functionality
title: ''
labels: ''
assignees: ''

---

Expand Down
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/release_checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: GMT release checklist
about: Checklist for a new GMT release.
title: 'Release GMT x.x.x'
labels: ''
assignees: ''

---

**Version**: x.x.x

**Before release**:

- [ ] run `src/gmt_make_*.sh` to update some .c and .h files
- [ ] check if all tests pass on macOS, Linux and Windows
- [ ] update changelog
- [ ] update INSTALL.md
- [ ] build documentations and fix warnings if any
- [ ] check/set values in `cmake/ConfigDefault.cmake`
- [ ] `GMT_VERSION_YEAR` is current year
- [ ] `GMT_PACKAGE_VERSION_*` is correctly set
- [ ] `GMT_LIB_SOVERSION` is correctly set
- [ ] set `GMT_PUBLIC_RELEASE` to `TRUE`
- [ ] freeze codes and commit all changes to GitHub

**Release**:

- [ ] create source tarballs (tar.gz and tar.xz) (@PaulWessel)
- [ ] create macOS bundle (@PaulWessel)
- [ ] create Windows installers (win32 and win64) (@joa-quim)
- [ ] make a tag and push it to github
```
git tag x.x.x
git push --tags
```
- [ ] go to [GitHub Release](https://github.com/GenericMappingTools/gmt/releases) and make a release. Remember to attach the source tarballs, macOS bundle and Windows installers.
- [ ] upload source tarballs, macOS bundle, Windows installers to the GMT FTP (@PaulWessel)
- [ ] update README and VERSION files on the GMT FTP (@PaulWessel)
- [ ] make announcements
- [ ] update links on the main site (News, Download & Documentation)
**After release**:
- [ ] create branch 6.x for bug-fixes if this is a minor release (i.e. create branch 6.1 after 6.1.0 is released)
- [ ] update `GMT_PACKAGE_VERSION_*` in `cmake/ConfigDefault.cmake`
- [ ] comment the `set (GMT_PUBLIC_RELEASE TRUE)` line
- [ ] commit changes to GitHub
**3rd-party update**
- [ ] update [conda-forge feedstock](https://github.com/conda-forge/gmt-feedstock) (@leouieda, @seisman)
- [ ] update [homebrew formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/gmt.rb) (@claudiodsf, @seisman)
- [ ] update [fink package](https://github.com/fink/fink-distributions/blob/master/10.9-libcxx/stable/main/finkinfo/sci/) (@remkos)
- [ ] update [macports ports](https://github.com/macports/macports-ports/tree/master/science)
---
- [ ] Party :tada: (don't tick before all other checkboxes are ticked!)
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Fixes #

**Reminders**

- [ ] Correct base branch selected? `master` for new features, `6.0` for bug fixes
- [ ] Make sure that your code follows our style. Use the other functions/files as a basis.
- [ ] Add tests for new features or tests that would have caught the bug that you're fixing.
- [ ] Describe changes to function behavior and arguments in a comment below the function declaration.
Expand Down
Loading

0 comments on commit e396f99

Please sign in to comment.