Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
1606dd0
Typecheck some API interfaces (#593)
mfisher87 Sep 17, 2024
0f2cfeb
Partially typecheck `APIformatting` module (#598)
mfisher87 Sep 25, 2024
74ca632
Mark tests which depend on ECS/EGI as expected fail; separate integra…
mfisher87 Sep 26, 2024
4e54d0a
Bugfix: Move `loop_root` sentinel value above exhaustive conditionals…
mfisher87 Sep 26, 2024
b7e07bf
Remove redundant conditional in APIformatting (#590)
mfisher87 Sep 26, 2024
628ad8f
Type annotate the temporal module (#604)
mfisher87 Sep 27, 2024
23e3f7e
add trigger to unit tests upon completion of UML action (#619)
JessicaS11 Sep 27, 2024
c454aab
Bump codecov/codecov-action from 4.5.0 to 4.6.0 in the github-actions…
dependabot[bot] Nov 3, 2024
5d668c2
add dependabot ignore for non-semantic v1 of repository-traffic-actio…
JessicaS11 Nov 4, 2024
50af59d
[pre-commit.ci] pre-commit autoupdate (#631)
pre-commit-ci[bot] Nov 5, 2024
4539e82
properly apply all dimensions to deeply nested variables (#623)
JessicaS11 Nov 14, 2024
2511dc6
[pre-commit.ci] pre-commit autoupdate (#635)
pre-commit-ci[bot] Dec 3, 2024
7605002
[pre-commit.ci] pre-commit autoupdate (#638)
pre-commit-ci[bot] Jan 7, 2025
4eb7aaf
include quest tile in index.rst (#497)
RomiP Jan 9, 2025
2f1875a
pin to older version of dask (2025.1.0 breaks datashader) (#641)
JessicaS11 Jan 24, 2025
3587c9c
make np.datetime64 units "ns" explicitly (#653)
JessicaS11 Feb 5, 2025
07ff3c0
Bump codecov/codecov-action from 4.6.0 to 5.3.1 in the github-actions…
dependabot[bot] Feb 5, 2025
60d21fc
Remove existing deprecations from icepyx v1.x (#640)
JessicaS11 Feb 5, 2025
54e3c1d
[pre-commit.ci] pre-commit autoupdate (#651)
pre-commit-ci[bot] Feb 10, 2025
9591d12
GitHub Actions: Run unit tests on Python 3.13 (#622)
cclauss Feb 20, 2025
c66fd72
Switch from deprecated chartboost/ruff-action to astral-sh/ruff-actio…
cclauss Feb 20, 2025
6de304d
Bump codecov/codecov-action from 5.3.1 to 5.4.0 in the github-actions…
dependabot[bot] Mar 4, 2025
44e7f4e
[pre-commit.ci] pre-commit autoupdate (#660)
pre-commit-ci[bot] Mar 4, 2025
aeba4eb
Drop support for Python 3.9 and 3.10 (#655)
weiji14 Mar 6, 2025
82b7239
Add pytest mark to integration tests requiring download and run them …
JessicaS11 Mar 11, 2025
3e30661
allow integration tests to run on forks from users with write permiss…
mfisher87 Mar 12, 2025
a4640ee
docs: add chuckwondo as a contributor for infra (#662)
allcontributors[bot] Mar 12, 2025
3d43fc6
remove pull_request_target trigger for integration tests (#665)
JessicaS11 Mar 17, 2025
386d73f
get variables list from json instead of CMR (#669)
JessicaS11 Apr 1, 2025
35211d1
traffic and stats update Sept 2024-Mar 2025 (#674)
JessicaS11 Apr 11, 2025
8c2b09c
Harmony integration: the story continues. (#657)
betolink May 9, 2025
14a1372
Add changelog for v2.0.0 (#684)
betolink May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,15 @@
"test",
"infra"
]
},
{
"login": "chuckwondo",
"name": "Chuck Daniels",
"avatar_url": "https://avatars.githubusercontent.com/u/5607545?v=4",
"profile": "https://developmentseed.org/",
"contributions": [
"infra"
]
}
],
"contributorsPerLine": 7,
Expand Down
3 changes: 3 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@ updates:
- "*" # Group all Actions updates into a single larger pull request
schedule:
interval: monthly
ignore:
- dependency-name: "sangonzal/repository-traffic-action"
versions: "v1"
34 changes: 34 additions & 0 deletions .github/workflows/download_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: "Integration Download test"
# NOTE: This runs only integration tests that download data,
# as denoted by the pytest downloads_data mark.

on:
push:
branches:
- "main" # Releases
- "development" # Feature PR merges

jobs:
test:
name: "Download Data Tests"
runs-on: "ubuntu-latest"

steps:
- uses: "actions/checkout@v4"

- uses: "./.github/actions/install-icepyx"
with:
python-version: "3.12"

- name: "Run download tests"
env:
EARTHDATA_LOGIN: "icepyx_devteam"
EARTHDATA_PASSWORD: "${{ secrets.EARTHDATA_PASSWORD }}"
NSIDC_LOGIN: "${{ secrets.EARTHDATA_PASSWORD }}"
run: |
pytest icepyx/tests/integration --verbose --cov app -m "downloads_data"

- name: "Upload coverage report"
uses: "codecov/[email protected]"
with:
token: "${{ secrets.CODECOV_TOKEN }}"
61 changes: 40 additions & 21 deletions .github/workflows/integration_test.yml
Original file line number Diff line number Diff line change
@@ -1,49 +1,68 @@
name: "Integration test"
# NOTE: We're just running the tests that require earthdata login here; we
# don't distinguish between unit and integration tests yet.
# NOTE: This runs all integration tests except those that download data.
# It will not automatically run integration tests (some of which require auth)
# on PRs from forks.
# Integration tests that download data are run separately.


on:
pull_request:
branches:
- "main" # Release PRs
- "development" # Feature PRs
push:
branches:
- "main" # Releases
- "main" # Releases
- "development" # Feature PR merges
pull_request:
branches:
- "main" # Release PRs
workflow_dispatch:
inputs:
ref:
description: "The ref to test"
type: "string"

# When this workflow is queued, automatically cancel any previous running
# or pending jobs from the same branch
concurrency:
group: "integration-tests-${{ github.ref }}"
cancel-in-progress: true

jobs:
test:
name: "Integration test"
# Do not run on PRs from forks:
if: "${{ !github.event.pull_request.head.repo.fork }}"
runs-on: "ubuntu-latest"

steps:
- uses: "actions/checkout@v4"
- name: "Fetch user permission"
id: "permission"
uses: "actions-cool/check-user-permission@v2"
with:
fetch-depth: 0
ref: "${{ inputs.ref }}"
require: "write"
username: "${{ github.triggering_actor }}"

- name: "Check user permission"
if: "${{ steps.permission.outputs.require-result == 'false' }}"
# If the triggering actor does not have write permission (i.e., this is a
# PR from a fork), then we exit, otherwise most of the integration tests will
# fail because they require access to secrets. In this case, a maintainer
# will need to make sure the PR looks safe, and if so, manually re-run the
# failed pull_request_target jobs.
run: |
echo "User **${{ github.triggering_actor }}** does not have permission to run integration tests." >> $GITHUB_STEP_SUMMARY
echo "A maintainer must perform a security review and re-run this build, if the code is safe." >> $GITHUB_STEP_SUMMARY
echo "See [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/resources/github-actions-preventing-pwn-requests)." >> $GITHUB_STEP_SUMMARY
exit 1

- name: "Checkout source"
uses: "actions/checkout@v4"

- uses: "./.github/actions/install-icepyx"
with:
python-version: "3.12"

- name: "Run tests"
- name: "Run auth tests"
env:
EARTHDATA_USERNAME: "icepyx_devteam"
EARTHDATA_PASSWORD: "${{ secrets.EARTHDATA_PASSWORD }}"
NSIDC_LOGIN: "${{ secrets.EARTHDATA_PASSWORD }}"
run: |
pytest icepyx/ --verbose --cov app \
icepyx/tests/test_behind_NSIDC_API_login.py \
icepyx/tests/test_auth.py
pytest -s icepyx/tests/integration --verbose --cov app

- name: "Upload coverage report"
uses: "codecov/codecov-action@v4.5.0"
uses: "codecov/codecov-action@v5.4.0"
with:
token: "${{ secrets.CODECOV_TOKEN }}"
4 changes: 1 addition & 3 deletions .github/workflows/linter_actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,4 @@ jobs:
# Use the Ruff linter to annotate code style / best-practice issues
# NOTE: More config provided in pyproject.toml
- name: Lint and annotate PR
uses: chartboost/ruff-action@v1
with:
args: "check . --output-format github"
uses: astral-sh/ruff-action@v3
2 changes: 1 addition & 1 deletion .github/workflows/publish_to_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.11

- name: Install dependencies
run: python -m pip install build setuptools wheel
Expand Down
29 changes: 29 additions & 0 deletions .github/workflows/typecheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Typecheck

on:
pull_request:
push:
branches:
- main
- development


jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install package and test dependencies
run: |
python -m pip install .[complete]
python -m pip install -r requirements-dev.txt

- uses: jakebailey/pyright-action@v2
20 changes: 14 additions & 6 deletions .github/workflows/unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ on:
branches:
- "main"
- "development"
workflow_run:
workflows: [Update UML diagrams]
types:
- completed


# When this workflow is queued, automatically cancel any previous running
# or pending jobs from the same branch
concurrency:
group: "unit-tests-${{ github.ref }}"
cancel-in-progress: true


jobs:
Expand All @@ -17,8 +28,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.12"] #NOTE: min and max Python versions supported by icepyx

python-version: ["3.11", "3.13"] #NOTE: min and max Python versions supported by icepyx
steps:
- uses: "actions/checkout@v4"
with:
Expand All @@ -30,11 +40,9 @@ jobs:

- name: "Run tests"
run: |
pytest icepyx/ --verbose --cov app \
--ignore=icepyx/tests/test_behind_NSIDC_API_login.py \
--ignore=icepyx/tests/test_auth.py
pytest icepyx/tests/unit --verbose --cov app

- name: "Upload coverage report"
uses: "codecov/codecov-action@v4.5.0"
uses: "codecov/codecov-action@v5.4.0"
with:
token: "${{ secrets.CODECOV_TOKEN }}"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ venv.bak/
*.zarr
*.tif

# harmony orders
.order_restart

# data file exception for tracking info
!clones.csv
!views.csv
Expand Down
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-toml
- id: check-yaml
Expand All @@ -19,21 +19,21 @@ repos:
- id: requirements-txt-fixer

- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies:
- tomli

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.3
rev: v0.9.9
hooks:
- id: ruff
args: ["--fix", "--show-fixes"]
- id: ruff-format

- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.19
rev: v0.23
hooks:
- id: validate-pyproject

Expand Down
Loading
Loading