Skip to content

0.6.1

0.6.1 #48

Workflow file for this run

# (C) Copyright 2020 ECMWF.
#
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
# In applying this licence, ECMWF does not waive the privileges and immunities
# granted to it by virtue of its status as an intergovernmental organisation
# nor does it submit to any jurisdiction.
name: Build MacOS ARM
on:
workflow_dispatch: {}
release:
types: [created]
# repository_dispatch:
# types: [eccodes-updated, magics-updated]
push:
paths:
- 'scripts/common.sh'
- 'scripts/build-macos.sh'
- 'scripts/wheel-macos.sh'
- 'tools/copy-licences.py'
# We don't use "actions/setup-python@v4" as it installs a universal python
# which creates universal wheels. We want to create wheels for the specific
# architecture we are running on.
jobs:
build:
# if: false
runs-on: [self-hosted, macOS, ARM64]
# runs-on: [self-hosted, platform-builder-macos13-m2-000]
name: Build
steps:
- run: sudo mkdir -p /Users/runner
- run: sudo chown administrator:staff /Users/runner
- uses: actions/checkout@v2
- run: ./scripts/select-python.sh "3.10"
- run: ./scripts/build-macos.sh
################################################################
- run: ./scripts/select-python.sh "3.9"
- run: ./scripts/wheel-macos.sh "3.9"
- run: ls -l wheelhouse
- uses: actions/upload-artifact@v2
name: Upload wheel 3.9
with:
name: wheel-macos-3.9
path: wheelhouse/*.whl
- run: rm -fr wheelhouse
################################################################
- run: ./scripts/select-python.sh "3.10"
- run: ./scripts/wheel-macos.sh "3.10"
- run: ls -l wheelhouse
- uses: actions/upload-artifact@v2
name: Upload wheel 3.10
with:
name: wheel-macos-3.10
path: wheelhouse/*.whl
- run: rm -fr wheelhouse
################################################################
- run: ./scripts/select-python.sh "3.11"
- run: ./scripts/wheel-macos.sh "3.11"
- run: ls -l wheelhouse
- uses: actions/upload-artifact@v2
name: Upload wheel 3.11
with:
name: wheel-macos-3.11
path: wheelhouse/*.whl
- run: rm -fr wheelhouse
test:
needs: build
runs-on: [self-hosted, macOS, ARM64]
strategy:
fail-fast: true
max-parallel: 1
matrix:
python-version: ["3.9", "3.10", "3.11"]
# python-version: ["3.10", "3.11"]
name: Test with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
with:
name: wheel-macos-${{ matrix.python-version }}
- run: ls -l
- run: ./scripts/select-python.sh ${{ matrix.python-version }}
- run: echo $PATH
- run: pip3 install --upgrade pip
- run: ls -l /opt/homebrew/opt/python@${{ matrix.python-version }}/libexec/bin
- run: which python3
- run: python3 --version
- run: pwd
- run: ls -l
- run: pip3 install *.whl
- run: pip3 install -r tests/requirements.txt
- run: pip3 freeze
- name: Get some data
run: |
curl -L https://get.ecmwf.int/repository/test-data/metview/gallery/2m_temperature.grib -o data.grib
curl -L https://github.com/ecmwf/climetlab/raw/main/docs/examples/test.grib -o climetlab.grib
curl -L https://github.com/ecmwf/climetlab/raw/main/docs/examples/test.nc -o climetlab.nc
ls -l
working-directory: tests
- run: pytest -v -s
working-directory: tests
- uses: actions/upload-artifact@v2
with:
name: tests-macos-${{ matrix.python-version }}
path: tests/*.png
- run: rm -fr *.whl tests
deploy:
if: ${{ github.event_name == 'release' }}
needs: [test, build]
name: Deploy wheel ${{ matrix.python-version }}
runs-on: [self-hosted, macOS, ARM64]
strategy:
fail-fast: true
max-parallel: 1
matrix:
python-version: ["3.9", "3.10", "3.11"]
steps:
- run: ./scripts/select-python.sh ${{ matrix.python-version }}
- run: pip3 install twine
- uses: actions/download-artifact@v2
with:
name: wheel-macos-${{ matrix.python-version }}
- run: twine upload *.whl
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}