From dec3bd882e6b360b11b16c5f01a45e6c9ba5518e Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 18 Dec 2020 08:33:41 +0200 Subject: [PATCH 1/5] add semicolons to commands --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6b6b793..52752e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -124,9 +124,9 @@ after_success: # used in Travis CI config, originally # generated at anaconda.org for scipy-wheels-nightly - if [ "$TRAVIS_EVENT_TYPE" == "cron" ]; then - source extra_functions.sh + source extra_functions.sh; for f in wheelhouse/*.whl; do rename_wheel $f; done; - ANACONDA_ORG="scipy-wheels-nightly" + ANACONDA_ORG="scipy-wheels-nightly"; pip install git+https://github.com/Anaconda-Server/anaconda-client; anaconda -t ${SCIPY_WHEELS_NIGHTLY_ACCESS} upload --force -u ${ANACONDA_ORG} ${TRAVIS_BUILD_DIR}/wheelhouse/*.whl; fi @@ -135,7 +135,7 @@ after_success: # CI config, originally generated at anaconda.org for # multibuild-wheels-staging - if [ "$TRAVIS_EVENT_TYPE" == "push" ]; then - ANACONDA_ORG="multibuild-wheels-staging" + ANACONDA_ORG="multibuild-wheels-staging"; pip install git+https://github.com/Anaconda-Server/anaconda-client; anaconda -t ${MULTIBUILD_WHEELS_STAGING_ACCESS} upload --force -u ${ANACONDA_ORG} ${TRAVIS_BUILD_DIR}/wheelhouse/*.whl; fi From ec9223831384d5cc51fc172a5ccdbb5f489cbfd9 Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 18 Dec 2020 10:02:20 +0200 Subject: [PATCH 2/5] update multibuild to latest devel --- multibuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multibuild b/multibuild index 9934a95..55b3eb4 160000 --- a/multibuild +++ b/multibuild @@ -1 +1 @@ -Subproject commit 9934a952b4fd7e3b19270c9b85370fdc9d30126f +Subproject commit 55b3eb4134ea1bb07b254b67b83932418c05237f From b7bf4a1b41b3a243187e031fcaa92eb53d95dd17 Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 18 Dec 2020 09:46:00 +0200 Subject: [PATCH 3/5] move x86 builds to github actions --- .github/workflows/multibuild.yml | 123 +++++++++++++++++++++++++++++++ .travis.yml => legacy-travis.yml | 0 matplotlib | 2 +- 3 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/multibuild.yml rename .travis.yml => legacy-travis.yml (100%) diff --git a/.github/workflows/multibuild.yml b/.github/workflows/multibuild.yml new file mode 100644 index 0000000..255f137 --- /dev/null +++ b/.github/workflows/multibuild.yml @@ -0,0 +1,123 @@ +name: build + +env: + REPO_DIR: matplotlib + BUILD_COMMIT: master + MACOSX_DEPLOYMENT_TARGET: 10.9 + BUILD_DIR: ${{ github.workspace }} + MB_PYTHON_OSX_VER: 10.9 + TEST_DEPENDS: "oldest-supported-numpy sphinx pytest pytest-timeout pytest-xdist pytest-faulthandler pytest-rerunfailures requests[security]" + BUILD_DEPENDS: "oldest-supported-numpy" + MB_ML_VER: 2010 + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + schedule: + # every Sunday at midnight, builds master and uploads to + # https://anaconda.org/scipy-wheels-nightly/ + - cron: '0 0 * * 0' + workflow_dispatch: + # manual trigger, uploads to https://anaconda.org/multibuild-wheels-staging + env: + BUILD_COMMIT: v0.3.13 + + +jobs: + # TODO: add windows builds as a separate job + linux_mac: + runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + # python-version: [3.7, 3.8, 3.9, "pypy-3.7"] + python-version: [3.7, 3.8, 3.9] + plat: ["x86_64"] + include: + - os: ubuntu-latest + plat: "i686" + python-version: 3.7 + - os: ubuntu-latest + plat: "i686" + python-version: 3.8 + - os: ubuntu-latest + plat: "i686" + python-version: 3.9 + env: + MB_PYTHON_VERSION: ${{ matrix.python-version }} + PLAT: ${{ matrix.plat }} + + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + fetch-depth: 0 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Set extra env + run: | + set -xe + if [ "macos-latest" == "${{ matrix.os }}" ]; then echo "TRAVIS_OS_NAME=osx" >> $GITHUB_ENV; else echo "TRAVIS_OS_NAME=${{ matrix.os }}" >> $GITHUB_ENV; fi + # Remove the '-' from pypy- + if [[ "$MB_PYTHON_VERSION" == pypy* ]]; then echo "MB_PYTHON_VERSION=pypy3.7-7.3.3" >> $GITHUB_ENV; fi + if [ "schedule" == "${{ github.event_name }}" ] || [ "master" == "$BUILD_COMMIT" ]; then + echo "TOKEN=${{ secrets.SCIPY_WHEELS_NIGHTLY_ACCESS }}" >> $GITHUB_ENV; + echo "ANACONDA_ORG=https://anaconda.org/scipy-wheels-nightly" >> $GITHUB_ENV; + else + echo "TOKEN=${{ secrets.MULTIBUILD_WHEELS_STAGING_ACCESS }}" >> $GITHUB_ENV; + echo "ANACONDA_ORG=https://anaconda.org/multibuild-wheels-staging" >> $GITHUB_ENV; + fi + echo "TRAVIS_PYTHON_VERSION=$MV_PYTHON_VERSION" >> $GITHUB_ENV; + if [ "i686" == "${{ matrix.PLAT }}" ]; then echo "MB_ML_VER=1" >> $GITHUB_ENV; fi + + + - name: Print some Environment variable + run: | + echo "TRAVIS_OS_NAME: ${TRAVIS_OS_NAME}" + echo "ANACONDA_ORG: ${ANACONDA_ORG}" + echo "MB_PYTHON_VERSION: ${MB_PYTHON_VERSION}" + echo "TRAVIS_PYTHON_VERSION: ${TRAVIS_PYTHON_VERSION}" + echo "MB_ML_VER: ${MB_ML_VER}" + - name: Install VirtualEnv + run: | + python -m pip install --upgrade pip + pip install virtualenv + - name: Build and Install Wheels + run: | + set -ex + DOCKER_TEST_IMAGE=multibuild/xenial_${PLAT} + source multibuild/common_utils.sh + source multibuild/travis_steps.sh + echo "------ BEFORE INSTALL ---------" + before_install + echo "------ CLEAN CODE --------" + clean_code $REPO_DIR $BUILD_COMMIT + echo "------ BUILD --------" + build_wheel "$REPO_DIR" "$PLAT" + echo "------ REMOVE TEST IMAGES --------" + pip install delocate + python rm_test_images.py wheelhouse/*.whl + echo "------ TEST --------" + # increase number of open files allowed for tests, on OSX + # https://github.com/matplotlib/matplotlib/issues/3315 + ulimit -n 4096 + install_run $PLAT + + - name: Upload wheels + if: env.TOKEN + run: | + set -ex + pip install git+https://github.com/Anaconda-Server/anaconda-client; + # The first -t option refers to the token, the second is the "type" + # option to the "upload" command + anaconda -t ${TOKEN} upload \ + --no-progress --force -u $ANACONDA_ORG \ + ${BUILD_DIR}/wheelhouse/*.whl; diff --git a/.travis.yml b/legacy-travis.yml similarity index 100% rename from .travis.yml rename to legacy-travis.yml diff --git a/matplotlib b/matplotlib index be4b213..d53555b 160000 --- a/matplotlib +++ b/matplotlib @@ -1 +1 @@ -Subproject commit be4b2130caea02a37a98875d54a822f0150ba06b +Subproject commit d53555b594c5700242aacdf82a70bb68fbf465cb From c3f30827b7e4b427c5c2e5a8dcf8327268505c10 Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 18 Dec 2020 14:18:46 +0200 Subject: [PATCH 4/5] restore travis but remove non-arm builds --- .github/workflows/multibuild.yml | 10 +++++--- legacy-travis.yml => .travis.yml | 40 ++++++++------------------------ 2 files changed, 17 insertions(+), 33 deletions(-) rename legacy-travis.yml => .travis.yml (85%) diff --git a/.github/workflows/multibuild.yml b/.github/workflows/multibuild.yml index 255f137..80ebcfb 100644 --- a/.github/workflows/multibuild.yml +++ b/.github/workflows/multibuild.yml @@ -2,6 +2,7 @@ name: build env: REPO_DIR: matplotlib + # Keep this in sync with the value in .travis.yml for arm64 BUILD_COMMIT: master MACOSX_DEPLOYMENT_TARGET: 10.9 BUILD_DIR: ${{ github.workspace }} @@ -76,7 +77,10 @@ jobs: echo "ANACONDA_ORG=https://anaconda.org/multibuild-wheels-staging" >> $GITHUB_ENV; fi echo "TRAVIS_PYTHON_VERSION=$MV_PYTHON_VERSION" >> $GITHUB_ENV; - if [ "i686" == "${{ matrix.PLAT }}" ]; then echo "MB_ML_VER=1" >> $GITHUB_ENV; fi + if [ "i686" == "${{ matrix.PLAT }}" ]; + then echo "MB_ML_VER=1" >> $GITHUB_ENV; + else echo "DOCKER_TEST_IMAGE=multibuild/xenial_${PLAT}" >> $GITHUB_ENV; + fi - name: Print some Environment variable @@ -86,14 +90,14 @@ jobs: echo "MB_PYTHON_VERSION: ${MB_PYTHON_VERSION}" echo "TRAVIS_PYTHON_VERSION: ${TRAVIS_PYTHON_VERSION}" echo "MB_ML_VER: ${MB_ML_VER}" + echo "DOCKER_TEST_IMAGE: ${DOCKER_TEST_IMAGE}" - name: Install VirtualEnv run: | python -m pip install --upgrade pip pip install virtualenv - name: Build and Install Wheels run: | - set -ex - DOCKER_TEST_IMAGE=multibuild/xenial_${PLAT} + # set -ex # for debugging source multibuild/common_utils.sh source multibuild/travis_steps.sh echo "------ BEFORE INSTALL ---------" diff --git a/legacy-travis.yml b/.travis.yml similarity index 85% rename from legacy-travis.yml rename to .travis.yml index 52752e3..e27ec0b 100644 --- a/legacy-travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ env: global: - REPO_DIR=matplotlib # Also see DAILY_COMMIT below + # Keep this in sync with the value in .github/workflows/multibuild.yml - BUILD_COMMIT=v3.2.1 # These variables filled in further below - BUILD_DEPENDS= @@ -28,27 +29,12 @@ services: docker jobs: include: - - os: linux - env: - - MB_PYTHON_VERSION=3.7 - - NP_BUILD_DEP=1.16 - - NP_TEST_DEP=1.16 - os: linux env: - MB_PYTHON_VERSION=3.7 - NP_BUILD_DEP=1.16 - NP_TEST_DEP=1.16 - PLAT=i686 - - os: linux - env: - - MB_PYTHON_VERSION=3.8 - - NP_BUILD_DEP=1.16 - - NP_TEST_DEP=1.16 - - os: linux - env: - - MB_PYTHON_VERSION=3.9 - - NP_BUILD_DEP=1.16 - - NP_TEST_DEP=1.16 - os: linux arch: arm64 env: @@ -67,22 +53,16 @@ jobs: - PLAT=aarch64 - MB_ML_VER=2014 - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} - - os: osx - language: generic - env: - - MB_PYTHON_VERSION=3.7 - - MB_PYTHON_OSX_VER=10.9 - - NP_BUILD_DEP=1.16 - - NP_TEST_DEP=1.16 - - os: osx - language: generic + - os: linux + arch: arm64 env: - - MB_PYTHON_VERSION=3.8 - - MB_PYTHON_OSX_VER=10.9 - - NP_BUILD_DEP=1.16 - - NP_TEST_DEP=1.16 - - MB_PYTHON_OSX_VER=10.9 - - MB_ML_VER=2010 + - MB_PYTHON_VERSION=3.9 + - NP_BUILD_DEP=1.19 + - NP_TEST_DEP=1.19 + - PLAT=aarch64 + - MB_ML_VER=2014 + - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} + before_install: # See: From b5bc1d532aaa6122490a011edf411e09c7fca117 Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 18 Dec 2020 14:34:19 +0200 Subject: [PATCH 5/5] cosmetic changes to see if github actions now triggers --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e27ec0b..952b977 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,8 +11,6 @@ env: - UNICODE_WIDTH=32 - NP_BUILD_DEP=1.16 - NP_TEST_DEP=1.16 - - MANYLINUX_URL=https://5cf40426d9f06eb7461d-6fe47d9331aba7cd62fc36c7196769e4.ssl.cf2.rackcdn.com - - WHEELHOUSE_UPLOADER_USERNAME=travis-worker # Following generated with # travis encrypt -r MacPython/matplotlib-wheels \ # WHEELHOUSE_UPLOADER_SECRET=