From bdc86ab621ff82d35931308225727592a4dede8e Mon Sep 17 00:00:00 2001 From: Nabil Freij Date: Tue, 4 Jun 2024 16:59:14 -0700 Subject: [PATCH] ci --- .github/workflows/ci.yml | 85 +++++++++++++++++++++++++++------------- 1 file changed, 57 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7350e9b39..0508740e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,39 +15,70 @@ on: # Allow manual runs through the web UI workflow_dispatch: -# Automatically cancel old builds concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: core: - uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1 + uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main with: submodules: false coverage: codecov toxdeps: tox-pypi-filter envs: | - - linux: py311 + - linux: py312 + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + sdist_verify: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.10' + - run: python -m pip install -U --user build + - run: python -m build . --sdist + - run: python -m pip install -U --user twine + - run: python -m twine check dist/* test: - needs: [core] - uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1 + needs: [core, sdist_verify] + uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main with: - default_python: '3.9' submodules: false coverage: codecov toxdeps: tox-pypi-filter envs: | + - windows: py311 - macos: py310 - - windows: py39 + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + docs: + needs: [core] + uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main + with: + default_python: '3.10' + submodules: false + pytest: false + toxdeps: tox-pypi-filter + coverage: '' + libraries: | + apt: + - graphviz + envs: | - linux: build_docs posargs: '' pytest: false + coverage: '' libraries: apt: - libopenjp2-7 - graphviz + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} cron: if: | @@ -55,37 +86,35 @@ jobs: github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Run cron CI') ) - uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1 + uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main with: - default_python: '3.9' + default_python: '3.10' submodules: false coverage: codecov toxdeps: tox-pypi-filter envs: | - linux: py311-devdeps - - linux: py39-conda - libraries: '' - - publish: - # Build wheels when pushing to any branch except main - # publish.yml will only publish if tagged ^v.* - if: | - github.event_name != 'pull_request' && ( - github.ref_name != 'main' || - github.event_name == 'workflow_dispatch' ) - needs: [test] - uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v1 - with: - python-version: '3.9' - test_extras: 'dev' - test_command: 'pytest -p no:warnings --doctest-rst -m "not mpl_image_compare" --pyargs ndcube' - submodules: false secrets: - pypi_token: ${{ secrets.pypi_token }} + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + publish_pure: + if: | + github.event_name != 'pull_request' && ( + github.ref_name != 'main' || + github.event_name == 'workflow_dispatch' ) + needs: [test, docs] + uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v1 + with: + python-version: '3.10' + test_extras: 'tests,plotting,reproject' + test_command: 'pytest -p no:warnings --doctest-rst --pyargs ndcube' + submodules: false + secrets: + pypi_token: ${{ secrets.pypi_token }} notify: if: always() && github.event_name == 'workflow_dispatch' - needs: [publish, cron] + needs: [publish_pure, cron] runs-on: ubuntu-latest steps: - uses: Cadair/matrix-notify-action@main