Skip to content

Package / Actions Cleanup - Continuation of #435#436

Open
simmsa wants to merge 41 commits intoMHKiT-Software:developfrom
simmsa:package-cleanup-v2
Open

Package / Actions Cleanup - Continuation of #435#436
simmsa wants to merge 41 commits intoMHKiT-Software:developfrom
simmsa:package-cleanup-v2

Conversation

@simmsa
Copy link
Contributor

@simmsa simmsa commented Feb 25, 2026

This is a continuation and refinement of #435

Highlights:

From #435

  • Actions version updates:
    • checkout - v4 to v6
    • setup-python - v2 to v6
  • cdip fixes

Dependencies

Module Dependencies

  • Pin pandas below version 3.0
    • There are some subtle bugs related to underlying pandas changes that we should address and possibly fix that are out of scope of this PR.
  • Refactor dependencies to move xarray, netcdf, and h5 dependencies into all
    • This helps standardize the versions for all modules, and behind the scenes xarray typically requires both netcdf and h5.

Conda and Conda-Forge Dependency Definitions

  • Move conda forge environment file into environment-dev.yml and create new conda-forge-build job to test the conda-forge specific no deps build

Actions

Linting

  • Add filter to only run black on files that have changed
    • Intent is to reduce noise in the tests. It is a non goal to have all files share the same formatting, we are just trying to enforce formatting on new or changed code
  • Add Development Installation section to readme detailing pip, conda, and conda forge installation pathways

Coveralls

  • Pin coveralls action at v2
  • Adds a switch at the top of main.yml to toggle reporting coveralls upload failures as test failures. Coveralls failures are of the 500 variant, Error: Bad response: 530 error code: 1016 per: https://status.coveralls.io/ and this implements the recommended fail-on-error: false fix
Update - Outage will be extended for at least several more hours. To avoid further disruption to your CI workflows, we recommend employing the fail-on-error: false input option available with all official coveralls integrations. See: https://docs.coveralls.io/integrations#official-integrations.
Feb 24, 2026 - 19:28 PST

We can incorporate this into #435 if that makes sense. My main goal here is to understand what changes are necessary in #435

jmcvey3 and others added 30 commits February 19, 2026 09:01
There is a bug where something in requiring pyarrow that is likely
related to pandas 3.0.

Adding pyarrow as a dependency is a reasonable fix, but managing the
pyarrow version should be handled by pandas and not mhkit.

This pins pandas below 3.0 to see if pyarrow dependencies are caused by
including >= 3.0 somewhere.
```
prepare-nonhindcast-cache
The 'defaults' channel might have been added implicitly. If this is intentional, add 'defaults' to the 'channels' list. Otherwise, consider setting 'conda-remove-defaults' to 'true'.
```
Coveralls is down this morning: https://status.coveralls.io/

```
Update - Outage will be extended for at least several more hours. To avoid further disruption to your CI workflows, we recommend employing the fail-on-error: false input option available with all official coveralls integrations. See: https://docs.coveralls.io/integrations#official-integrations.
Feb 24, 2026 - 19:28 PST
```

This changes adds a switch to enable/disable coveralls failures.

This should be set back to TRUE when coveralls is working again.
Xarray leverages netcdf and h5 libraries behind the scenes. Historically
it is better for MHKiT to manage the versions for these libraries vs
latest because of subtle breaking changes.

This moves the deps into all because all data functions in mhkit support
xarray output and thus require all the h5, nc libraries.
…n job

coveralls@v2 needs curl, which is not in the python:3-slim container.
The simplest solution is to just use the default ubuntu container spec.
All jobs should use the same conda settings. This sets global settings
for conda channels and conda remove defaults settings in one place that
is DRY and easy to configure
@simmsa simmsa marked this pull request as ready for review February 25, 2026 18:53
@simmsa
Copy link
Contributor Author

simmsa commented Feb 25, 2026

@akeeste and @jmcvey3 this is ready.

Do any of you have a preference if we add this to #435 or keep this as a separate PR? Happy to do whatever makes sense.

There are lots of small test/action errors, warnings, and nits that this fixes.

Also coveralls is still down: https://status.coveralls.io/. This adds a flag to ignore coveralls upload errors but that has the potential to lead to false positives (tests fail, but old passing test badges are shown to the user).

@simmsa simmsa requested review from akeeste and jmcvey3 February 25, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants