From 2bd6da97ced3564a86fdd7c0f44b9a45a49ca189 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Tue, 4 Dec 2018 10:14:19 -0500 Subject: [PATCH 01/22] Test gmt-python with GMT master branch --- .travis.yml | 12 ++++++++++++ ci/travis-build-gmt.sh | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 ci/travis-build-gmt.sh diff --git a/.travis.yml b/.travis.yml index ad56ab5c4b2..41aec18e01f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,7 @@ branches: - master # Regex to build tagged commits with version numbers - /\d+\.\d+(\.\d+)?(\S*)?$/ + - /test-*/ # Define environment variables common to all builds env: @@ -62,6 +63,13 @@ matrix: - BUILD_DOCS=true - DEPLOY_DOCS=true - DEPLOY_PYPI=true + - name: "Linux - Python 3.6 - GMT master branch" + os: linux + env: + - PYTHON=3.6 + - CONDA_INSTALL_EXTRA="" + - TEST=true + - BUILD_DOCS=true - name: "Mac - Python 3.7" os: osx env: @@ -76,6 +84,10 @@ matrix: - BUILD_DOCS=true before_install: + # install GMT master branch + - if [ "$TRAVIS_JOB_NAME" == "Linux - Python 3.6 - GMT master branch" ]; then + bash ci/travis-build-gmt.sh; + fi # Get the Fatiando CI scripts - git clone https://github.com/fatiando/continuous-integration.git # Download and install miniconda and setup dependencies diff --git a/ci/travis-build-gmt.sh b/ci/travis-build-gmt.sh new file mode 100644 index 00000000000..f26c8301967 --- /dev/null +++ b/ci/travis-build-gmt.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Build latest GMT master branch + +# To return a failure if any commands inside fail +set -e + +export INSTALLDIR="$HOME/gmt-install-dir"; +export COASTLINEDIR="$HOME/gmt-install-dir/coast"; + +git clone --depth=1 https://github.com/GenericMappingTools/gmt ${HOME}/gmt-master +cd ${HOME}/gmt-master +bash ci/travis-setup.sh +bash ci/travis-build.sh +cd ${TRAVIS_BUILD_DIR} + +export PATH=$INSTALLDIR/bin:$PATH +export LD_LIBRARY_PATH=$INSTALLDIR/lib:$LD_LIBRARY_PATH + +# Turn off exit on failure. +set +e From 37799683bc484126a264a2967501c6778b16676e Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 16 Jan 2019 09:28:26 -0500 Subject: [PATCH 02/22] Fix stickler-ci --- ci/travis-build-gmt.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/travis-build-gmt.sh b/ci/travis-build-gmt.sh index f26c8301967..f42aad0e44b 100644 --- a/ci/travis-build-gmt.sh +++ b/ci/travis-build-gmt.sh @@ -7,11 +7,11 @@ set -e export INSTALLDIR="$HOME/gmt-install-dir"; export COASTLINEDIR="$HOME/gmt-install-dir/coast"; -git clone --depth=1 https://github.com/GenericMappingTools/gmt ${HOME}/gmt-master -cd ${HOME}/gmt-master +git clone --depth=1 https://github.com/GenericMappingTools/gmt "${HOME}/gmt-master" +cd "${HOME}/gmt-master" bash ci/travis-setup.sh bash ci/travis-build.sh -cd ${TRAVIS_BUILD_DIR} +cd "${TRAVIS_BUILD_DIR}" export PATH=$INSTALLDIR/bin:$PATH export LD_LIBRARY_PATH=$INSTALLDIR/lib:$LD_LIBRARY_PATH From a04bf4b7617fbc64e16c2d6e4f0ff70d4d842ba0 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 16 Jan 2019 09:39:49 -0500 Subject: [PATCH 03/22] Fix travis.yml --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 41aec18e01f..10ed828f016 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,6 @@ branches: - master # Regex to build tagged commits with version numbers - /\d+\.\d+(\.\d+)?(\S*)?$/ - - /test-*/ # Define environment variables common to all builds env: From af904da0c223bcaeadfd8a8e2b2b9ac1ef76bb21 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 16 Jan 2019 10:00:09 -0500 Subject: [PATCH 04/22] Check GMT install --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 10ed828f016..bdad7674c96 100644 --- a/.travis.yml +++ b/.travis.yml @@ -86,6 +86,10 @@ before_install: # install GMT master branch - if [ "$TRAVIS_JOB_NAME" == "Linux - Python 3.6 - GMT master branch" ]; then bash ci/travis-build-gmt.sh; + which gmt; + gmt --show-bindir; + gmt --version; + gmt --show-library; fi # Get the Fatiando CI scripts - git clone https://github.com/fatiando/continuous-integration.git From f19318ed219fec13016559bba7a0bb6786bfec26 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 16 Jan 2019 10:06:24 -0500 Subject: [PATCH 05/22] Source gmt install script --- .travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index bdad7674c96..5e3b7235f02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,10 +85,9 @@ matrix: before_install: # install GMT master branch - if [ "$TRAVIS_JOB_NAME" == "Linux - Python 3.6 - GMT master branch" ]; then - bash ci/travis-build-gmt.sh; - which gmt; - gmt --show-bindir; + source ci/travis-build-gmt.sh; gmt --version; + gmt --show-bindir; gmt --show-library; fi # Get the Fatiando CI scripts From 7950c563a25de47bdf78a6df9777bc00808dda40 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 11:27:08 +0000 Subject: [PATCH 06/22] Update the build script with the new GMT build --- .travis.yml | 73 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 53 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5e3b7235f02..bbb3b75defc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,10 @@ language: generic # Use the container builds so we don't need sudo priviledges sudo: false +cache: + directories: + - gmt/build + # Only build pushes to the master branch and tags. This avoids the double # builds than happen when working on a branch instead of a fork. branches: @@ -14,6 +18,39 @@ branches: # Regex to build tagged commits with version numbers - /\d+\.\d+(\.\d+)?(\S*)?$/ +# Set the Ubuntu version for the Linux builds +dist: xenial + +# GMT dependencies for the Linux and OSX builds +addons: + apt: + packages: + - cmake + - build-essential + - libcurl4-gnutls-dev + - libnetcdf-dev + - libgdal1-dev + - libfftw3-dev + - libpcre3-dev + - liblapack-dev + - ghostscript + - curl + - graphicsmagick + - python + - python-pip + homebrew: + packages: + - cmake + - curl + - netcdf + - gdal + - fftw + - pcre2 + - ghostscript + - curl + - graphicsmagick + - python + # Define environment variables common to all builds env: global: @@ -23,12 +60,14 @@ env: # TWINE_PASSWORD to deploy to PyPI - secure: "md4fgPt9RC/sCoN5//5PcNHLUd9gWQGewV5hFpWW88MRTjxTng1Zfs8r7SqlF2AkEEepFfyzq0BEe9c3FMAnFbec3KmqdlQen4V8xDbLrcTlvkPlTrYGbAScUvdhhqojB//hMHoTD4KvxAv9CiUwFBO4hCMmj2buWHUbV9Ksu5WCW9mF/gkt/hIuYAU6Mbwt8PiYyMgUpzMHO1vruofcWRaVnvKwmBqHB0ae86D4/drpwn4CWjlM12WUnphT2bssiyPkw24FZtCN6kPVta6bLZKBxu0bZpw2vbXuUG+Yh19Q4mp8wNYT3XSHJf8Hl5LfujF48+cLWu+6rlCkdcelyVylhWLFc3rGOONAv4G8jWW2yNSz/bLQfJnMpd81fQEu5eySmFxB7mdB0uyKpvIG1jMJQ73LlYKakKLAPdYhMFyQAHoX9gvCE3S4QR95DBMi5gM/pZubOCcMLdjPHB5JKpJHSjxbOzyVwgmsUIEgd5Bi2vZvvYQXn1plk4xpQ3PhXc+/gi33bzY89mKcfOn0HJ2pD1vLqDXRCBsMCakoLZ0JB/6bacaz4FngbsGWuQ+I1cz20lJGL/MSi9bW1G7Uoidt3GXXWDmXrWt70vIXlLIxr8XV0Mu/rPbauGgWE+ZSYEfvdM5sP+FNF7vQ5de+Fkvzg5Z3tTfR+O1W+d7+vM4=" - TWINE_USERNAME=Leonardo.Uieda + # Paths for GMT installation + - INSTALLDIR="$HOME/gmt-install-dir" + - COASTLINEDIR="$HOME/gmt-install-dir/coast" + - PATH="$INSTALLDIR/bin:$PATH" + - LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" # The file with the listed requirements to be installed by conda - CONDA_REQUIREMENTS=requirements.txt - CONDA_REQUIREMENTS_DEV=requirements-dev.txt - # Get GMT6 from conda-forge development channel - - CONDA_INSTALL_EXTRA="gmt=6.0.0*" - - CONDA_EXTRA_CHANNEL=conda-forge/label/dev # These variables control which actions are performed in a build - TEST=false - CHECK=false @@ -44,8 +83,7 @@ matrix: env: - PYTHON=3.6 - CHECK=true - # Don't need to install everything just to run the style checks - - CONDA_INSTALL_EXTRA="black flake8 pylint" + - CONDA_INSTALL_EXTRA="black flake8 pylint=2.2.2" - CONDA_REQUIREMENTS="" - CONDA_REQUIREMENTS_DEV="" - name: "Linux - Python 3.7" @@ -54,7 +92,7 @@ matrix: - PYTHON=3.7 - TEST=true - BUILD_DOCS=true - - name: "Linux - Python 3.6 (also deploys)" + - name: "Linux - Python 3.6 (deploy)" os: linux env: - PYTHON=3.6 @@ -62,13 +100,7 @@ matrix: - BUILD_DOCS=true - DEPLOY_DOCS=true - DEPLOY_PYPI=true - - name: "Linux - Python 3.6 - GMT master branch" - os: linux - env: - - PYTHON=3.6 - - CONDA_INSTALL_EXTRA="" - - TEST=true - - BUILD_DOCS=true + - CONDA_INSTALL_EXTRA="twine" - name: "Mac - Python 3.7" os: osx env: @@ -83,13 +115,14 @@ matrix: - BUILD_DOCS=true before_install: - # install GMT master branch - - if [ "$TRAVIS_JOB_NAME" == "Linux - Python 3.6 - GMT master branch" ]; then - source ci/travis-build-gmt.sh; - gmt --version; - gmt --show-bindir; - gmt --show-library; - fi + # Build and install GMT from the master branch + - mkdir "$INSTALLDIR" + - mkdir "$COASTLINEDIR" + - git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git + - cd gmt + - bash ci/download-coastlines.sh + - bash ci/build-gmt.sh + - cd "$TRAVIS_BUILD_DIR" # Get the Fatiando CI scripts - git clone https://github.com/fatiando/continuous-integration.git # Download and install miniconda and setup dependencies From 988bab0cdd8d2fbdc0622254d449a48b66762ea1 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 11:43:56 +0000 Subject: [PATCH 07/22] Avoid the name conflict with the Python package --- .travis.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index bbb3b75defc..a40c567d512 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ sudo: false cache: directories: - - gmt/build + - gmt-master/build # Only build pushes to the master branch and tags. This avoids the double # builds than happen when working on a branch instead of a fork. @@ -116,12 +116,14 @@ matrix: before_install: # Build and install GMT from the master branch - - mkdir "$INSTALLDIR" - - mkdir "$COASTLINEDIR" - - git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git - - cd gmt - - bash ci/download-coastlines.sh - - bash ci/build-gmt.sh + - if [ "$TEST" == "true" ] || [ "$BULD_DOCS" == "true" ]; then + mkdir "$INSTALLDIR" && \ + mkdir "$COASTLINEDIR" && \ + git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git gmt-master && \ + cd gmt-master && \ + bash ci/download-coastlines.sh && \ + bash TEST=false ci/build-gmt.sh && \ + fi - cd "$TRAVIS_BUILD_DIR" # Get the Fatiando CI scripts - git clone https://github.com/fatiando/continuous-integration.git From d3e76f0c7cc208861bb9d2281fbea57b25faeab1 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 11:47:04 +0000 Subject: [PATCH 08/22] No line break --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index a40c567d512..a8c43669a62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -117,12 +117,12 @@ matrix: before_install: # Build and install GMT from the master branch - if [ "$TEST" == "true" ] || [ "$BULD_DOCS" == "true" ]; then - mkdir "$INSTALLDIR" && \ - mkdir "$COASTLINEDIR" && \ - git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git gmt-master && \ - cd gmt-master && \ - bash ci/download-coastlines.sh && \ - bash TEST=false ci/build-gmt.sh && \ + mkdir "$INSTALLDIR" && + mkdir "$COASTLINEDIR" && + git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git gmt-master && + cd gmt-master && + bash ci/download-coastlines.sh && + bash TEST=false ci/build-gmt.sh fi - cd "$TRAVIS_BUILD_DIR" # Get the Fatiando CI scripts From 82cabf678a34e18e53f4c8d3d2dd9776fb8e0660 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 12:02:07 +0000 Subject: [PATCH 09/22] Delegate building GMT to a helper script --- .travis.yml | 14 ++------------ ci/travis-build-gmt.sh | 20 -------------------- helpers/build-gmt-master.sh | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 32 deletions(-) delete mode 100644 ci/travis-build-gmt.sh create mode 100644 helpers/build-gmt-master.sh diff --git a/.travis.yml b/.travis.yml index a8c43669a62..7553840cce0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,11 +60,6 @@ env: # TWINE_PASSWORD to deploy to PyPI - secure: "md4fgPt9RC/sCoN5//5PcNHLUd9gWQGewV5hFpWW88MRTjxTng1Zfs8r7SqlF2AkEEepFfyzq0BEe9c3FMAnFbec3KmqdlQen4V8xDbLrcTlvkPlTrYGbAScUvdhhqojB//hMHoTD4KvxAv9CiUwFBO4hCMmj2buWHUbV9Ksu5WCW9mF/gkt/hIuYAU6Mbwt8PiYyMgUpzMHO1vruofcWRaVnvKwmBqHB0ae86D4/drpwn4CWjlM12WUnphT2bssiyPkw24FZtCN6kPVta6bLZKBxu0bZpw2vbXuUG+Yh19Q4mp8wNYT3XSHJf8Hl5LfujF48+cLWu+6rlCkdcelyVylhWLFc3rGOONAv4G8jWW2yNSz/bLQfJnMpd81fQEu5eySmFxB7mdB0uyKpvIG1jMJQ73LlYKakKLAPdYhMFyQAHoX9gvCE3S4QR95DBMi5gM/pZubOCcMLdjPHB5JKpJHSjxbOzyVwgmsUIEgd5Bi2vZvvYQXn1plk4xpQ3PhXc+/gi33bzY89mKcfOn0HJ2pD1vLqDXRCBsMCakoLZ0JB/6bacaz4FngbsGWuQ+I1cz20lJGL/MSi9bW1G7Uoidt3GXXWDmXrWt70vIXlLIxr8XV0Mu/rPbauGgWE+ZSYEfvdM5sP+FNF7vQ5de+Fkvzg5Z3tTfR+O1W+d7+vM4=" - TWINE_USERNAME=Leonardo.Uieda - # Paths for GMT installation - - INSTALLDIR="$HOME/gmt-install-dir" - - COASTLINEDIR="$HOME/gmt-install-dir/coast" - - PATH="$INSTALLDIR/bin:$PATH" - - LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" # The file with the listed requirements to be installed by conda - CONDA_REQUIREMENTS=requirements.txt - CONDA_REQUIREMENTS_DEV=requirements-dev.txt @@ -116,13 +111,8 @@ matrix: before_install: # Build and install GMT from the master branch - - if [ "$TEST" == "true" ] || [ "$BULD_DOCS" == "true" ]; then - mkdir "$INSTALLDIR" && - mkdir "$COASTLINEDIR" && - git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git gmt-master && - cd gmt-master && - bash ci/download-coastlines.sh && - bash TEST=false ci/build-gmt.sh + - if [ "$TEST" == "true" ] || [ "$BUILD_DOCS" == "true" ]; then + bash helpers/build-gmt-master.sh; fi - cd "$TRAVIS_BUILD_DIR" # Get the Fatiando CI scripts diff --git a/ci/travis-build-gmt.sh b/ci/travis-build-gmt.sh deleted file mode 100644 index f42aad0e44b..00000000000 --- a/ci/travis-build-gmt.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# Build latest GMT master branch - -# To return a failure if any commands inside fail -set -e - -export INSTALLDIR="$HOME/gmt-install-dir"; -export COASTLINEDIR="$HOME/gmt-install-dir/coast"; - -git clone --depth=1 https://github.com/GenericMappingTools/gmt "${HOME}/gmt-master" -cd "${HOME}/gmt-master" -bash ci/travis-setup.sh -bash ci/travis-build.sh -cd "${TRAVIS_BUILD_DIR}" - -export PATH=$INSTALLDIR/bin:$PATH -export LD_LIBRARY_PATH=$INSTALLDIR/lib:$LD_LIBRARY_PATH - -# Turn off exit on failure. -set +e diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh new file mode 100644 index 00000000000..0d391d559be --- /dev/null +++ b/helpers/build-gmt-master.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Download and build the GMT master branch. + +set -e + +# Paths for GMT installation +INSTALLDIR="${GMTINSTALLDIR:-$HOME/gmt-install-dir}" +COASTLINEDIR="$INSTALLDIR/coast" +PATH="$INSTALLDIR/bin:$PATH" +LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" + +mkdir -p "$INSTALLDIR" +mkdir -p "$COASTLINEDIR" +git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git gmt-master +cd gmt-master +bash ci/download-coastlines.sh +bash TEST=false ci/build-gmt.sh + +set +e From 69b740a9e181486126cf54f83bb17591da5aa8d9 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 13:37:24 +0000 Subject: [PATCH 10/22] Build on testing --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7553840cce0..4d2d7b3af23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -111,7 +111,7 @@ matrix: before_install: # Build and install GMT from the master branch - - if [ "$TEST" == "true" ] || [ "$BUILD_DOCS" == "true" ]; then + - if [ "$TEST" == "true" ]; then bash helpers/build-gmt-master.sh; fi - cd "$TRAVIS_BUILD_DIR" From 436ea2d72c3b09799e76a2a6fdc3c87831cf16fc Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 13:46:09 +0000 Subject: [PATCH 11/22] Get around cloning into the cached directory --- helpers/build-gmt-master.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh index 0d391d559be..ed8f1533b40 100644 --- a/helpers/build-gmt-master.sh +++ b/helpers/build-gmt-master.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Download and build the GMT master branch. +# Download and build the GMT master branch. Used by TravisCI. set -e @@ -11,7 +11,10 @@ LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" mkdir -p "$INSTALLDIR" mkdir -p "$COASTLINEDIR" -git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git gmt-master +git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git tmp +mkdir -p gmt-master +cp -r tmp/* gmt-master +rm -rf tmp cd gmt-master bash ci/download-coastlines.sh bash TEST=false ci/build-gmt.sh From 98c21853c32b7476e11ce423a84d0c8ab8759b59 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 13:52:09 +0000 Subject: [PATCH 12/22] Set the environment variables globaly --- .travis.yml | 5 +++++ helpers/build-gmt-master.sh | 6 ------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4d2d7b3af23..304ead068b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,6 +60,11 @@ env: # TWINE_PASSWORD to deploy to PyPI - secure: "md4fgPt9RC/sCoN5//5PcNHLUd9gWQGewV5hFpWW88MRTjxTng1Zfs8r7SqlF2AkEEepFfyzq0BEe9c3FMAnFbec3KmqdlQen4V8xDbLrcTlvkPlTrYGbAScUvdhhqojB//hMHoTD4KvxAv9CiUwFBO4hCMmj2buWHUbV9Ksu5WCW9mF/gkt/hIuYAU6Mbwt8PiYyMgUpzMHO1vruofcWRaVnvKwmBqHB0ae86D4/drpwn4CWjlM12WUnphT2bssiyPkw24FZtCN6kPVta6bLZKBxu0bZpw2vbXuUG+Yh19Q4mp8wNYT3XSHJf8Hl5LfujF48+cLWu+6rlCkdcelyVylhWLFc3rGOONAv4G8jWW2yNSz/bLQfJnMpd81fQEu5eySmFxB7mdB0uyKpvIG1jMJQ73LlYKakKLAPdYhMFyQAHoX9gvCE3S4QR95DBMi5gM/pZubOCcMLdjPHB5JKpJHSjxbOzyVwgmsUIEgd5Bi2vZvvYQXn1plk4xpQ3PhXc+/gi33bzY89mKcfOn0HJ2pD1vLqDXRCBsMCakoLZ0JB/6bacaz4FngbsGWuQ+I1cz20lJGL/MSi9bW1G7Uoidt3GXXWDmXrWt70vIXlLIxr8XV0Mu/rPbauGgWE+ZSYEfvdM5sP+FNF7vQ5de+Fkvzg5Z3tTfR+O1W+d7+vM4=" - TWINE_USERNAME=Leonardo.Uieda + # Paths for GMT installation + - INSTALLDIR="$HOME/gmt-install-dir" + - COASTLINEDIR="$INSTALLDIR/coast" + - PATH="$INSTALLDIR/bin:$PATH" + - LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" # The file with the listed requirements to be installed by conda - CONDA_REQUIREMENTS=requirements.txt - CONDA_REQUIREMENTS_DEV=requirements-dev.txt diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh index ed8f1533b40..f5d023f68a9 100644 --- a/helpers/build-gmt-master.sh +++ b/helpers/build-gmt-master.sh @@ -3,12 +3,6 @@ set -e -# Paths for GMT installation -INSTALLDIR="${GMTINSTALLDIR:-$HOME/gmt-install-dir}" -COASTLINEDIR="$INSTALLDIR/coast" -PATH="$INSTALLDIR/bin:$PATH" -LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" - mkdir -p "$INSTALLDIR" mkdir -p "$COASTLINEDIR" git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git tmp From ae6029b6a07c02b595ac3ee7a0740db78f0952ad Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 13:56:55 +0000 Subject: [PATCH 13/22] Don't try to set TEST --- helpers/build-gmt-master.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh index f5d023f68a9..21fc90d82bd 100644 --- a/helpers/build-gmt-master.sh +++ b/helpers/build-gmt-master.sh @@ -11,6 +11,6 @@ cp -r tmp/* gmt-master rm -rf tmp cd gmt-master bash ci/download-coastlines.sh -bash TEST=false ci/build-gmt.sh +bash ci/build-gmt.sh set +e From 2d85ad63d24c8f90e861d52f53115780bc7b3b81 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 15:45:23 +0000 Subject: [PATCH 14/22] Try using the experimental branch from GMT --- helpers/build-gmt-master.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh index 21fc90d82bd..226f6c64cf7 100644 --- a/helpers/build-gmt-master.sh +++ b/helpers/build-gmt-master.sh @@ -5,7 +5,7 @@ set -e mkdir -p "$INSTALLDIR" mkdir -p "$COASTLINEDIR" -git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git tmp +git clone --depth=1 --branch=travis-build https://github.com/GenericMappingTools/gmt.git tmp mkdir -p gmt-master cp -r tmp/* gmt-master rm -rf tmp From 3dd2719a77c8bf0830a4d83ffd20c01d0bd274bc Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 16:31:27 +0000 Subject: [PATCH 15/22] Revert back to the master branch of GMT --- helpers/build-gmt-master.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh index 226f6c64cf7..21fc90d82bd 100644 --- a/helpers/build-gmt-master.sh +++ b/helpers/build-gmt-master.sh @@ -5,7 +5,7 @@ set -e mkdir -p "$INSTALLDIR" mkdir -p "$COASTLINEDIR" -git clone --depth=1 --branch=travis-build https://github.com/GenericMappingTools/gmt.git tmp +git clone --depth=1 --branch=master https://github.com/GenericMappingTools/gmt.git tmp mkdir -p gmt-master cp -r tmp/* gmt-master rm -rf tmp From be4378d5d1cf1bc50a7178745643ef1b8119672a Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 16:32:46 +0000 Subject: [PATCH 16/22] Remove GMT and twine from the dependencies We're gonna recommend building from source at first --- environment.yml | 3 --- requirements-dev.txt | 2 -- 2 files changed, 5 deletions(-) diff --git a/environment.yml b/environment.yml index 188df9da4a4..9ef6107d14f 100644 --- a/environment.yml +++ b/environment.yml @@ -1,11 +1,9 @@ name: gmt-python channels: - conda-forge - - conda-forge/label/dev dependencies: - python=3.6 - pip - - gmt=6.0.0* - numpy - pandas - xarray @@ -25,4 +23,3 @@ dependencies: - sphinx_rtd_theme - nbsphinx - numpydoc - - twine diff --git a/requirements-dev.txt b/requirements-dev.txt index c9d77a55cde..1ccd7b0b7a2 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -13,7 +13,5 @@ sphinx sphinx_rtd_theme nbsphinx numpydoc -twine # The following are installed for checking possible conflicts basemap - From 1ef43f3bdade0d9a21c87104f0f64f548d0b0363 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 19:26:46 +0000 Subject: [PATCH 17/22] Fix failure of basemap --- gmt/base_plotting.py | 8 -------- gmt/tests/baseline/test_basemap_d.png | Bin 17791 -> 0 bytes gmt/tests/test_basemap.py | 15 --------------- gmt/tests/test_figure.py | 6 +++--- 4 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 gmt/tests/baseline/test_basemap_d.png diff --git a/gmt/base_plotting.py b/gmt/base_plotting.py index dc3b28d2b6e..58023514a6d 100644 --- a/gmt/base_plotting.py +++ b/gmt/base_plotting.py @@ -445,12 +445,6 @@ def basemap(self, **kwargs): {J} {R} {B} - D : str - ``'[unit]xmin/xmax/ymin/ymax[r][+sfile][+t]'`` - Draw a simple map insert box on the map. Requires *F*. - F : bool or str - Without further options, draws a rectangular border around any map - insert (*D*), map scale (*L*) or map rose (*T*). L : str ``'[g|j|J|n|x]refpoint'`` Draws a simple map scale centered on the reference point specified. @@ -466,8 +460,6 @@ def basemap(self, **kwargs): kwargs = self._preprocess(**kwargs) if not ("B" in kwargs or "L" in kwargs or "T" in kwargs): raise GMTInvalidInput("At least one of B, L, or T must be specified.") - if "D" in kwargs and "F" not in kwargs: - raise GMTInvalidInput("Option D requires F to be specified as well.") with Session() as lib: lib.call_module("basemap", build_arg_string(kwargs)) diff --git a/gmt/tests/baseline/test_basemap_d.png b/gmt/tests/baseline/test_basemap_d.png deleted file mode 100644 index d1921e1c2283db37157d594ce2946cc22a71debc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17791 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 diff --git a/gmt/tests/test_basemap.py b/gmt/tests/test_basemap.py index 95ad2a7889e..827aa2b9373 100644 --- a/gmt/tests/test_basemap.py +++ b/gmt/tests/test_basemap.py @@ -14,21 +14,6 @@ def test_basemap_required_args(): fig.basemap(R="10/70/-3/8", J="X4i/3i") -@pytest.mark.mpl_image_compare -def test_basemap_d(): - "Make sure the D option works" - fig = Figure() - fig.basemap(R="10/70/-300/800", J="X3i/5i", B="af", D="30/35/-200/500", F=True) - return fig - - -def test_basemap_d_raises(): - "Make sure the D raises an error when F not given." - fig = Figure() - with pytest.raises(GMTInvalidInput): - fig.basemap(R="10/70/-300/800", J="X3i/5i", B="af", D="30/35/-200/500") - - @pytest.mark.mpl_image_compare def test_basemap(): "Create a simple basemap plot" diff --git a/gmt/tests/test_figure.py b/gmt/tests/test_figure.py index 5f9a7ed89da..86c8a6d7043 100644 --- a/gmt/tests/test_figure.py +++ b/gmt/tests/test_figure.py @@ -48,7 +48,7 @@ def test_figure_region_country_codes(): def test_figure_savefig_exists(): "Make sure the saved figure has the right name" fig = Figure() - fig.basemap(region="10/70/-300/800", J="X3i/5i", B="af", D="30/35/-200/500", F=True) + fig.basemap(region="10/70/-300/800", J="X3i/5i", B="af") prefix = "test_figure_savefig_exists" for fmt in "png pdf jpg bmp eps tif".split(): fname = ".".join([prefix, fmt]) @@ -60,7 +60,7 @@ def test_figure_savefig_exists(): def test_figure_savefig_transparent(): "Check if fails when transparency is not supported" fig = Figure() - fig.basemap(region="10/70/-300/800", J="X3i/5i", B="af", D="30/35/-200/500", F=True) + fig.basemap(region="10/70/-300/800", J="X3i/5i", B="af") prefix = "test_figure_savefig_transparent" for fmt in "pdf jpg bmp eps tif".split(): fname = ".".join([prefix, fmt]) @@ -112,6 +112,6 @@ def mock_psconvert(*args, **kwargs): # pylint: disable=unused-argument def test_figure_show(): "Test that show creates the correct file name and deletes the temp dir" fig = Figure() - fig.basemap(R="10/70/-300/800", J="X3i/5i", B="af", D="30/35/-200/500", F=True) + fig.basemap(R="10/70/-300/800", J="X3i/5i", B="af") img = fig.show(width=800) assert img.width == 800 From f72a706471ec1fa17602f760c6c662a543a1011d Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 19:55:04 +0000 Subject: [PATCH 18/22] The lib dir is lib64 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 304ead068b5..a32f2599b2d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,7 +64,7 @@ env: - INSTALLDIR="$HOME/gmt-install-dir" - COASTLINEDIR="$INSTALLDIR/coast" - PATH="$INSTALLDIR/bin:$PATH" - - LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" + - LD_LIBRARY_PATH="$INSTALLDIR/lib64:$LD_LIBRARY_PATH" # The file with the listed requirements to be installed by conda - CONDA_REQUIREMENTS=requirements.txt - CONDA_REQUIREMENTS_DEV=requirements-dev.txt From b977d70099b7e4662452a42443dc48e64f211a1e Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 19:56:57 +0000 Subject: [PATCH 19/22] Set the library path using GMT_LIBRARY_PATH --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a32f2599b2d..4650ba44d85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,7 +64,8 @@ env: - INSTALLDIR="$HOME/gmt-install-dir" - COASTLINEDIR="$INSTALLDIR/coast" - PATH="$INSTALLDIR/bin:$PATH" - - LD_LIBRARY_PATH="$INSTALLDIR/lib64:$LD_LIBRARY_PATH" + - LD_LIBRARY_PATH="$INSTALLDIR/lib:$LD_LIBRARY_PATH" + - GMT_LIBRARY_PATH="$INSTALLDIR/lib" # The file with the listed requirements to be installed by conda - CONDA_REQUIREMENTS=requirements.txt - CONDA_REQUIREMENTS_DEV=requirements-dev.txt From 87a65172b4ca4e850ab27244b27aa970e9edbbbe Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 20:27:08 +0000 Subject: [PATCH 20/22] Update install docs --- doc/install.rst | 59 ++++++++++--------------------------------------- 1 file changed, 12 insertions(+), 47 deletions(-) diff --git a/doc/install.rst b/doc/install.rst index 116b4d2586f..d0e95d13105 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -5,7 +5,7 @@ Installing .. note:: - **This package is in early stages of development.** + 🚨 **This package is in early stages of design and implementation.** 🚨 We welcome any feedback and ideas! Let us know by submitting @@ -29,23 +29,14 @@ doesn't interfere with any other Python installations in your system. Which GMT? ---------- -You'll need GMT 6, the latest development version available from +You'll need the latest development version available from `the GitHub repository `__. +GMT/Python is based on GMT 6, **which has not yet been officially released**. -We need the very latest GMT since there are many changes being made to the C API in +We need the very latest GMT since there are many changes being made to GMT itself in response to the development of GMT/Python, mainly the new `modern execution mode `__. -**GMT 6 has not been officially released** yet. -However, we provide compiled conda packages of the development version for Linux and Mac -through `conda-forge `__. -You can also -`build GMT from source `__ -instead, -which is untested and we would love to get feedback from anyone who tries. - -We recommend following the instructions further on to install GMT 6. - Dependencies ------------ @@ -62,44 +53,18 @@ The following are optional (but recommended) dependencies: * `IPython `__: For embedding the figures in Jupyter notebooks. -Installing GMT and other dependencies -------------------------------------- - -Before installing GMT/Python, we must install GMT itself along with the other -dependencies. -The easiest way to do this is using the ``conda`` package manager. -We recommend working in an isolated -`conda environment `__ -to avoid issues with competing versions of GMT and its dependencies. - -First, we must configure conda to get packages from the -`conda-forge channel `__ (the order is important):: - - conda config --prepend channels conda-forge/label/dev - conda config --prepend channels conda-forge +Installing GMT +-------------- -Now we can create a new conda environment with Python and all our dependencies installed -(we'll call it ``gmt-python`` but you can change it to whatever you want):: - - conda create --name gmt-python python=3.6 pip numpy pandas xarray packaging ipython gmt=6.0.0* - -Activate the environment by running:: - - source activate gmt-python - -From now on, all commands will take place inside the environment and won't affect your -default installation. +Unfortunately, you'll have to build GMT from source in order to get GMT/Python working. +Please follow the instructions at http://gmt.soest.hawaii.edu/projects/gmt/wiki/BuildingGMT .. note:: - **Currently, this only works on Linux and macOS.** - - We don't have a GMT conda package for Windows - (`we're working on it `__). - If you know how to - build GMT from source, you can do that instead of the ``conda install - gmt``. This is untested and we would love to get feedback from anyone who - tries. + We used to maintain conda packages for the latest GMT. That caused many problems and + was very difficult to maintain updated. We have opted to not do that anymore so that + we can develop more quickly. Once GMT 6 is officially released, we'll have conda + packages available again. Please bear with us. Installing GMT/Python From b115d206a8ed3a46a4ba1e93b136629c2e62c5c5 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 20:30:51 +0000 Subject: [PATCH 21/22] Remove unnecessary dependencies --- .travis.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4650ba44d85..80bf0f78849 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,9 +35,6 @@ addons: - liblapack-dev - ghostscript - curl - - graphicsmagick - - python - - python-pip homebrew: packages: - cmake @@ -48,8 +45,6 @@ addons: - pcre2 - ghostscript - curl - - graphicsmagick - - python # Define environment variables common to all builds env: From 0f012770df824627b750446f86ad0e4626d5ad69 Mon Sep 17 00:00:00 2001 From: Leonardo Uieda Date: Mon, 21 Jan 2019 20:31:30 +0000 Subject: [PATCH 22/22] Try to not build GMT with debug or testing --- helpers/build-gmt-master.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/build-gmt-master.sh b/helpers/build-gmt-master.sh index 21fc90d82bd..2fbbba405b0 100644 --- a/helpers/build-gmt-master.sh +++ b/helpers/build-gmt-master.sh @@ -11,6 +11,6 @@ cp -r tmp/* gmt-master rm -rf tmp cd gmt-master bash ci/download-coastlines.sh -bash ci/build-gmt.sh +TEST=false bash ci/build-gmt.sh set +e