Skip to content

Use pre-commit hooks for auto-linting, deprecate python 3.8 support (… #926

Use pre-commit hooks for auto-linting, deprecate python 3.8 support (…

Use pre-commit hooks for auto-linting, deprecate python 3.8 support (… #926

Workflow file for this run

name: Ubuntu CI
on: [push, pull_request]
jobs:
check_skip:
runs-on: ubuntu-latest
if: |
!contains(format('{0} {1} {2}', github.event.head_commit.message, github.event.pull_request.title, github.event.pull_request.body), '[skip ci]')
steps:
- run: |
cat <<'MESSAGE'
github.event_name: ${{ toJson(github.event_name) }}
github.event:
${{ toJson(github.event) }}
MESSAGE
test:
needs: check_skip
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip and setuptools
run: >
python -m pip install -U
pip
setuptools
pipenv
- name: Checkout source
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Install base codex-africanus
run: pipenv install .[testing]
- name: Run base test suite
run: pipenv run NUMBA_NRT_STATS=1 py.test -s -vvv africanus/
- name: List the measures directory
run: curl ftp://ftp.astron.nl/outgoing/Measures/ > measures_dir.txt
- name: Load cached CASA Measures Data
id: load-cached-casa-measures
uses: actions/cache@v2
with:
key: casa-measures-${{ hashFiles('measures_dir.txt')}}
path: |
~/measures
~/.casarc
- name: Download and install CASA Measures Data
if: steps.load-cached-casa-measures.outputs.cache-hit != 'true'
run: |
mkdir -p ~/measures
curl ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar | tar xvzf - -C ~/measures
echo "measures.directory: ~/measures" > ~/.casarc
- name: Install complete codex-africanus
# Need pyyaml for dask 2.17.0
# See https://github.com/dask/dask/issues/6221
run: >
pipenv install
.[complete]
pyyaml
git+https://gitlab.mpcdf.mpg.de/ift/nifty_gridder.git#egg=nifty-gridder
- name: Log installed package versions
run: pipenv graph
- name: Run complete test suite
run: pipenv run NUMBA_NRT_STATS=1 py.test -s -vvv africanus/
deploy:
needs: [test]
runs-on: ubuntu-latest
# Run on a push to a tag or master
if: >
github.event_name == 'push' &&
(startsWith(github.event.ref, 'refs/tags') ||
github.event.ref == 'refs/heads/master')
steps:
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install latest setuptools, wheel, pip
run: python3 -m pip install -U pip setuptools wheel
- name: Checkout source
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Build distributions
run: python setup.py sdist bdist_wheel
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.test_pypi_token }}
repository_url: https://test.pypi.org/legacy/
continue-on-error: true
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@master
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
with:
user: __token__
password: ${{ secrets.pypi_token }}