-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' into docs/ext_autosummary
- Loading branch information
Showing
30 changed files
with
821 additions
and
852 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Check Sphinx external links | ||
on: | ||
pull_request: | ||
schedule: | ||
- cron: '0 5 * * *' # once per day at midnight ET | ||
|
||
jobs: | ||
check-external-links: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Cancel any previous incomplete runs | ||
uses: styfle/[email protected] | ||
with: | ||
all_but_latest: true | ||
access_token: ${{ github.token }} | ||
|
||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: '3.10' | ||
|
||
- name: Install Sphinx dependencies and package | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install -r requirements-doc.txt -r requirements.txt | ||
python -m pip install . | ||
- name: Check Sphinx external links | ||
run: sphinx-build -b linkcheck ./docs/source ./test_build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
name: Deploy release | ||
on: | ||
push: | ||
tags: # run only on new tags that follow semver | ||
- '/^[0-9]+(\.[0-9]+)?(\.[0-9]+)?$/' | ||
|
||
jobs: | ||
deploy-release: | ||
name: Deploy release from tag | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repo with submodules | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
fetch-depth: 0 # tags are required for versioneer to determine the version | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: '3.10' | ||
|
||
- name: Install build dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install tox | ||
python -m pip list | ||
- name: Run tox tests | ||
run: | | ||
tox -e py310-upgraded | ||
- name: Build wheel and source distribution | ||
run: | | ||
tox -e build-py310-upgraded | ||
ls -1 dist | ||
- name: Test installation from a wheel | ||
run: | | ||
tox -e wheelinstall --recreate --installpkg dist/*-none-any.whl | ||
- name: Upload wheel and source distributions to PyPI # TODO remove the --repository flag after testing | ||
run: | | ||
python -m pip install twine | ||
ls -1 dist | ||
twine upload --repository testpypi -u ${{ secrets.BOT_PYPI_USER }} -p ${{ secrets.BOT_PYPI_PASSWORD }} --skip-existing dist/* | ||
- name: Publish wheel and source distributions as a GitHub release | ||
run: | | ||
# use click<8 until https://github.com/j0057/github-release/issues/62 is resolved | ||
python -m pip install "click<8" githubrelease | ||
githubrelease release hdmf-dev/hdmf \ | ||
create ${{ github.ref_name }} --name ${{ github.ref_name }} \ | ||
--github-token ${{ secrets.BOT_GITHUB_TOKEN }} \ | ||
--publish dist/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,176 @@ | ||
name: Run all tests | ||
on: | ||
schedule: | ||
- cron: '0 5 * * *' # once per day at midnight ET | ||
push: | ||
tags: # run only on new tags that follow semver | ||
- '/^[0-9]+(\.[0-9]+)?(\.[0-9]+)?$/' | ||
|
||
jobs: | ||
run-all-tests: | ||
# the only differences between this job and "run_tests.yml" is the "strategy.matrix.include" and the upload | ||
# distributions step. | ||
# GitHub Actions does not yet support YAML anchors, easily reusable components, or easy dynamic matrix | ||
# configurations based on the github event, so this job is duplicated for the most part | ||
name: ${{ matrix.name }} | ||
runs-on: ${{ matrix.os }} | ||
defaults: | ||
run: | ||
shell: bash | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- { name: linux-python3.7-minimum , test-tox-env: py37-minimum , build-tox-env: build-py37-minimum , python-ver: "3.7" , os: ubuntu-latest } | ||
- { name: linux-python3.7 , test-tox-env: py37 , build-tox-env: build-py37 , python-ver: "3.7" , os: ubuntu-latest } | ||
- { name: linux-python3.8 , test-tox-env: py38 , build-tox-env: build-py38 , python-ver: "3.8" , os: ubuntu-latest } | ||
- { name: linux-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: ubuntu-latest } | ||
- { name: linux-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-python3.10-optional , test-tox-env: py310-optional , build-tox-env: build-py310-optional , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-python3.10-upgraded , test-tox-env: py310-upgraded , build-tox-env: build-py310-upgraded , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-python3.10-prerelease , test-tox-env: py310-prerelease, build-tox-env: build-py310-prerelease, python-ver: "3.10", os: ubuntu-latest } | ||
- { name: windows-python3.7-minimum , test-tox-env: py37-minimum , build-tox-env: build-py37-minimum , python-ver: "3.7" , os: windows-latest } | ||
- { name: windows-python3.7 , test-tox-env: py37 , build-tox-env: build-py37 , python-ver: "3.7" , os: windows-latest } | ||
- { name: windows-python3.8 , test-tox-env: py38 , build-tox-env: build-py38 , python-ver: "3.8" , os: windows-latest } | ||
- { name: windows-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: windows-latest } | ||
- { name: windows-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: windows-latest } | ||
- { name: windows-python3.10-optional , test-tox-env: py310-optional , build-tox-env: build-py310-optional , python-ver: "3.10", os: windows-latest } | ||
- { name: windows-python3.10-upgraded , test-tox-env: py310-upgraded , build-tox-env: build-py310-upgraded , python-ver: "3.10", os: windows-latest } | ||
- { name: windows-python3.10-prerelease, test-tox-env: py310-prerelease, build-tox-env: build-py310-prerelease, python-ver: "3.10", os: windows-latest } | ||
- { name: macos-python3.7-minimum , test-tox-env: py37-minimum , build-tox-env: build-py37-minimum , python-ver: "3.7" , os: macos-latest } | ||
- { name: macos-python3.7 , test-tox-env: py37 , build-tox-env: build-py37 , python-ver: "3.7" , os: macos-latest } | ||
- { name: macos-python3.8 , test-tox-env: py38 , build-tox-env: build-py38 , python-ver: "3.8" , os: macos-latest } | ||
- { name: macos-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: macos-latest } | ||
- { name: macos-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: macos-latest } | ||
- { name: macos-python3.10-optional , test-tox-env: py310-optional , build-tox-env: build-py310-optional , python-ver: "3.10", os: macos-latest } | ||
- { name: macos-python3.10-upgraded , test-tox-env: py310-upgraded , build-tox-env: build-py310-upgraded , python-ver: "3.10", os: macos-latest } | ||
- { name: macos-python3.10-prerelease , test-tox-env: py310-prerelease, build-tox-env: build-py310-prerelease, python-ver: "3.10", os: macos-latest } | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: ${{ matrix.python-ver }} | ||
|
||
- name: Install build dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install tox | ||
python -m pip list | ||
- name: Run tox tests | ||
run: | | ||
tox -e ${{ matrix.test-tox-env }} | ||
- name: Build wheel and source distribution | ||
run: | | ||
tox -e ${{ matrix.build-tox-env }} | ||
ls -1 dist | ||
- name: Test installation from a wheel | ||
run: | | ||
tox -e wheelinstall --recreate --installpkg dist/*-none-any.whl | ||
run-all-gallery-tests: | ||
name: ${{ matrix.name }} | ||
runs-on: ${{ matrix.os }} | ||
defaults: | ||
run: | ||
shell: bash | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- { name: linux-gallery-python3.7-minimum , test-tox-env: gallery-py37-minimum , python-ver: "3.7" , os: ubuntu-latest } | ||
- { name: linux-gallery-python3.10-upgraded , test-tox-env: gallery-py310-upgraded , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-gallery-python3.10-prerelease , test-tox-env: gallery-py310-prerelease, python-ver: "3.10", os: ubuntu-latest } | ||
- { name: windows-gallery-python3.7-minimum , test-tox-env: gallery-py37-minimum , python-ver: "3.7" , os: windows-latest } | ||
- { name: windows-gallery-python3.10-upgraded , test-tox-env: gallery-py310-upgraded , python-ver: "3.10", os: windows-latest } | ||
- { name: windows-gallery-python3.10-prerelease, test-tox-env: gallery-py310-prerelease, python-ver: "3.10", os: windows-latest } | ||
- { name: macos-gallery-python3.7-minimum , test-tox-env: gallery-py37-minimum , python-ver: "3.7" , os: macos-latest } | ||
- { name: macos-gallery-python3.10-upgraded , test-tox-env: gallery-py310-upgraded , python-ver: "3.10", os: macos-latest } | ||
- { name: macos-gallery-python3.10-prerelease , test-tox-env: gallery-py310-prerelease, python-ver: "3.10", os: macos-latest } | ||
steps: | ||
- name: Cancel any previous incomplete runs | ||
uses: styfle/[email protected] | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: ${{ matrix.python-ver }} | ||
|
||
- name: Install build dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install tox | ||
python -m pip list | ||
- name: Run tox tests | ||
run: | | ||
tox -e ${{ matrix.test-tox-env }} | ||
run-all-tests-on-conda: | ||
name: ${{ matrix.name }} | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash -l {0} # needed for conda environment to work | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- { name: linux-python3.7-minimum , test-tox-env: py37-minimum , build-tox-env: build-py37-minimum , python-ver: "3.7" , os: ubuntu-latest } | ||
- { name: linux-python3.7 , test-tox-env: py37 , build-tox-env: build-py37 , python-ver: "3.7" , os: ubuntu-latest } | ||
- { name: linux-python3.8 , test-tox-env: py38 , build-tox-env: build-py38 , python-ver: "3.8" , os: ubuntu-latest } | ||
- { name: linux-python3.9 , test-tox-env: py39 , build-tox-env: build-py39 , python-ver: "3.9" , os: ubuntu-latest } | ||
- { name: linux-python3.10 , test-tox-env: py310 , build-tox-env: build-py310 , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-python3.10-optional , test-tox-env: py310-optional , build-tox-env: build-py310-optional , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-python3.10-upgraded , test-tox-env: py310-upgraded , build-tox-env: build-py310-upgraded , python-ver: "3.10", os: ubuntu-latest } | ||
- { name: linux-python3.10-prerelease, test-tox-env: py310-prerelease, build-tox-env: build-py310-prerelease, python-ver: "3.10", os: ubuntu-latest } | ||
steps: | ||
- name: Cancel any previous incomplete runs | ||
uses: styfle/[email protected] | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Set up Conda | ||
uses: conda-incubator/setup-miniconda@v2 | ||
with: | ||
auto-update-conda: true | ||
auto-activate-base: true | ||
activate-environment: "" | ||
|
||
- name: Install build dependencies | ||
run: | | ||
conda update -n base -c defaults conda | ||
conda config --set always_yes yes --set changeps1 no | ||
conda config --add channels conda-forge | ||
conda install python=${{ matrix.python-ver }} | ||
conda install tox | ||
conda list | ||
- name: Run tox tests | ||
run: | | ||
tox -e ${{ matrix.test-tox-env }} | ||
- name: Build wheel and source distribution | ||
run: | | ||
tox -e ${{ matrix.build-tox-env }} | ||
ls -1 dist | ||
- name: Test installation from a wheel | ||
run: | | ||
tox -e wheelinstall --recreate --installpkg dist/*-none-any.whl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
name: Run code coverage | ||
on: | ||
push: | ||
branches: | ||
- dev | ||
tags-ignore: # exclude tags created by "ci_addons publish_github_release" | ||
- 'latest' | ||
- 'latest-tmp' | ||
pull_request: | ||
|
||
jobs: | ||
run-coverage: | ||
name: ${{ matrix.os }}, opt reqs ${{ matrix.opt_req }} | ||
runs-on: ${{ matrix.os }} | ||
# TODO | ||
# run pipeline on either a push event or a PR event on a fork | ||
# if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | ||
defaults: | ||
run: | ||
shell: bash | ||
strategy: | ||
matrix: | ||
include: | ||
- { os: ubuntu-latest , opt_req: true } | ||
- { os: ubuntu-latest , opt_req: false } | ||
- { os: windows-latest, opt_req: false } | ||
- { os: macos-latest , opt_req: false } | ||
env: | ||
OS: ${{ matrix.os }} | ||
PYTHON: '3.10' | ||
steps: | ||
- name: Cancel any previous incomplete runs | ||
uses: styfle/[email protected] | ||
with: | ||
all_but_latest: true | ||
access_token: ${{ github.token }} | ||
|
||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: '3.10' | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install -r requirements-dev.txt -r requirements.txt | ||
- name: Install optional dependencies | ||
if: ${{ matrix.opt_req }} | ||
run: python -m pip install -r requirements-opt.txt | ||
|
||
- name: Install package | ||
run: | | ||
python -m pip install -e . # must install in editable mode for coverage to find sources | ||
python -m pip list | ||
- name: Run tests and generate coverage report | ||
run: | | ||
python -m coverage run test.py -u | ||
python -m coverage xml # codecov uploader requires xml format | ||
python -m coverage report -m | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
fail_ci_if_error: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
name: Run style check | ||
on: pull_request | ||
|
||
jobs: | ||
run-flake8: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Cancel any previous incomplete runs | ||
uses: styfle/[email protected] | ||
with: | ||
all_but_latest: true | ||
access_token: ${{ github.token }} | ||
|
||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: 'recursive' | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: '3.10' | ||
|
||
- name: Install flake8 | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install flake8 | ||
python -m pip list | ||
- name: Run flake8 | ||
run: flake8 |
Oops, something went wrong.