diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 1a5eae4..e711528 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -14,6 +14,6 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Codespell uses: codespell-project/actions-codespell@v2 diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 6d74fd2..10491cc 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -5,5 +5,5 @@ jobs: ruff: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 diff --git a/.github/workflows/run_coverage.yml b/.github/workflows/run_coverage.yml index 2a378fb..39136b8 100644 --- a/.github/workflows/run_coverage.yml +++ b/.github/workflows/run_coverage.yml @@ -8,7 +8,7 @@ on: jobs: run-coverage: - name: ${{ matrix.os }}, opt reqs ${{ matrix.opt_req }} + name: ${{ matrix.os }} runs-on: ${{ matrix.os }} # TODO handle forks # run pipeline on either a push event or a PR event on a fork @@ -16,32 +16,27 @@ jobs: defaults: run: shell: bash + concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.os }} + cancel-in-progress: true 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 } + - { os: ubuntu-latest, python-ver: "3.12" } + - { os: ubuntu-latest, python-ver: "3.8" } + - { os: windows-latest, python-ver: "3.12" } + - { os: macos-latest, python-ver: "3.12" } env: # used by codecov-action OS: ${{ matrix.os }} - PYTHON: '3.11' + PYTHON: ${{ matrix.python-ver }} steps: - - name: Cancel non-latest runs - uses: styfle/cancel-workflow-action@0.11.0 - with: - all_but_latest: true - access_token: ${{ github.token }} - - - uses: actions/checkout@v3 - with: - submodules: 'recursive' - fetch-depth: 0 # tags are required for versioneer to determine the version + - name: Checkout repo + uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: - python-version: ${{ env.PYTHON }} + python-version: ${{ matrix.python-ver }} - name: Install dependencies run: | @@ -60,6 +55,6 @@ jobs: python -m coverage report -m - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: fail_ci_if_error: true diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml index 185b8ac..13f56ed 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/run_tests.yml @@ -4,6 +4,7 @@ on: branches: - main pull_request: + workflow_dispatch: jobs: run-tests: @@ -12,31 +13,42 @@ jobs: defaults: run: shell: bash + concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.name }} + cancel-in-progress: true strategy: fail-fast: false matrix: include: - - { os: ubuntu-latest } - - { os: windows-latest } - - { os: macos-latest } + - { name: linux-python3.8-minimum , requirements: minimum, python-ver: "3.8" , os: ubuntu-latest } + - { name: linux-python3.12 , requirements: pinned , python-ver: "3.12", os: ubuntu-latest } + - { name: windows-python3.8-minimum , requirements: minimum, python-ver: "3.8" , os: windows-latest } + - { name: windows-python3.12 , requirements: pinned , python-ver: "3.12", os: windows-latest } + - { name: macos-python3.8-minimum , requirements: minimum, python-ver: "3.8" , os: macos-latest } + - { name: macos-python3.12 , requirements: pinned , python-ver: "3.12", os: macos-latest } steps: - - name: Cancel non-latest runs - uses: styfle/cancel-workflow-action@0.11.0 - with: - all_but_latest: true - access_token: ${{ github.token }} - - - uses: actions/checkout@v3 + - name: Checkout repo + uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: ${{ matrix.python-ver }} - - name: Install dependencies + - name: Install development/test dependencies run: | python -m pip install --upgrade pip - python -m pip install -r requirements-dev.txt -r requirements.txt + python -m pip install -r requirements-dev.txt + + - name: Install minimum dependencies + if: matrix.requirements == 'minimum' + run: | + python -m pip install -r requirements-min.txt + + - name: Install pinned dependencies + if: matrix.requirements == 'pinned' + run: | + python -m pip install -r requirements.txt - name: Install package run: | diff --git a/pyproject.toml b/pyproject.toml index 894788d..aa0b3f7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ dependencies = [ "numpy", "scikit-learn>=0.12", ] -version = "0.0.1" +version = "0.1.0" # dynamic = ["version"] [project.urls] diff --git a/requirements-min.txt b/requirements-min.txt new file mode 100644 index 0000000..e02805a --- /dev/null +++ b/requirements-min.txt @@ -0,0 +1,2 @@ +hdmf==3.4.5 +scikit-learn==0.12 diff --git a/requirements.txt b/requirements.txt index f005565..6c160a9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -hdmf>=3.4.5 -scikit-learn>=0.12 +hdmf==3.13.0 +scikit-learn==1.4.0 diff --git a/setup.py b/setup.py deleted file mode 100644 index 6068493..0000000 --- a/setup.py +++ /dev/null @@ -1,3 +0,0 @@ -from setuptools import setup - -setup()