Skip to content

Bump actions/checkout to v5 in github workflows (closes #2864)#2865

Merged
pkalita-lbl merged 1 commit into
linkml:mainfrom
AV-EFI:fix-github-workflows
Aug 14, 2025
Merged

Bump actions/checkout to v5 in github workflows (closes #2864)#2865
pkalita-lbl merged 1 commit into
linkml:mainfrom
AV-EFI:fix-github-workflows

Conversation

@EOltmanns

Copy link
Copy Markdown
Contributor

No description provided.

@codecov

codecov Bot commented Aug 14, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.03%. Comparing base (a78ab74) to head (6992e1f).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2865      +/-   ##
==========================================
- Coverage   83.06%   83.03%   -0.03%     
==========================================
  Files         126      126              
  Lines       13994    13994              
  Branches     2900     2900              
==========================================
- Hits        11624    11620       -4     
- Misses       1731     1737       +6     
+ Partials      639      637       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pkalita-lbl pkalita-lbl merged commit fe0bee1 into linkml:main Aug 14, 2025
22 checks passed
@dalito

dalito commented Aug 16, 2025

Copy link
Copy Markdown
Member

I think this PR has the consequence / side-effect that dependabot will update only in major version steps but ignore patch releases which often fix smaller bugs (since this PR uses "v5" instead of "v5.0.0").

vladistan added a commit to vladistan/linkml-runtime that referenced this pull request Aug 30, 2025
vladistan added a commit to vladistan/linkml-runtime that referenced this pull request Aug 30, 2025
vladistan added a commit to vladistan/linkml-runtime that referenced this pull request Aug 30, 2025
kevinschaper pushed a commit that referenced this pull request Oct 3, 2025
kevinschaper added a commit that referenced this pull request Dec 1, 2025
* Fix YAML files

* Exclude invalid yaml test inputs

* Adding __future__type annotations to yaml_loader, loader_root.
generating URI to Path / str(Path) maps in __init__

* Typing additions and edits

* Fixing misc minor lint issues:
- create error messages before raise exceptions
- simplify some if/else cascades
- fix variable naming convention violations

* Move import-related functions to be closer together in the module for easier debugging

* Update linkml_runtime/utils/schemaview.py

Co-authored-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>

* fix accidental commit II

* Use legacy type union notation for defining types

* Lint should ignore vendored linkml-model

* Exclude vendored linkml-model from coverage reporting

* tests(schemaview): optimize execution

Avoid opening the same schema 9 times for very similar tests.

Signed-off-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>

* Fixes by Ruff

* added new variable: element_type that stores the type of element prior to it being converted to a dictionary. This will allow @type to be asssigned to the true type of element in yamlutils.as_json_object(), rather than the being assigned to 'dict' which is the type returned from element.model_dump(). This change only effects cases when element is of type:pydantic.BaseModel

* added description of element_type to yamlutils.as_json_object() docstring

* Convert trivial unitest cases to pytest

* Convert test walker utils to pytest

* Convert test schema as dict to pytest

* Convert test_inlined_as_list_forms to pytest

* Convert test_include_schema.py to pytest format

* Convet test_enum to pytest

* Convert distroutils to pytest

* fixed formatting in linkml_runtime/utils/yamlutils.py

Co-authored-by: Kevin Schaper <kevinschaper@gmail.com>

* fixed formatting in linkml_runtime/dumpers/json_dumper.py

Co-authored-by: Kevin Schaper <kevinschaper@gmail.com>

* fixed typ in json_dumper.py. return statement was appearing twice

* undid formatting change using black

* Convert dictutils to pytest

* Convert test_csv_tsv_loader_dumper.py to pytest format

- Remove unittest imports and TestCase class
- Convert 6 test methods to standalone functions
- Add pytest fixtures for schema_view, test_data, test_data2
- Use tmp_path fixture for temporary file handling

* Convert test_arrays.py to pytest format

- Convert setUp() method to pytest fixtures (normalizer, matrix_data)
- Convert test method to standalone function
- Convert assertEqual to assert statement

* Convert test introsepction to pytest

Apply review suggestion

* Convert test_object_index.py to pytest format

- Convert setUp() method to pytest fixtures (schema_view, container, object_index)
- Convert large test method to standalone function with detailed sections
- Convert assertRaises to pytest.raises
- Convert assertCountEqual to sorted comparison

Address review comment

* Convert test for inlined as dict forms to pytest

* Convert test poly dataclasses to pytest

* Fixes proposed by Ruff

* Convert test_loaders_dumpers.py from unittest to pytest

- Convert setUp method to module-scoped loader_dumper_setup pytest fixture
- Convert _check_objs from instance method to standalone helper function
- Convert all 3 test methods to standalone functions with fixture dependency

* Convert test dumpers to pytest

* Convert test ruleutils to pytest

* Improve disjunction rules test

* added unit test to check that @type is correctly set when JSONDumper.dumps() is called with a pydantic instance

* Convert test_rdflib_dumper.py from unittest to pytest

- Convert setUp methods to pytest fixtures (prefix_map, converter_prefix_map, issue_429_graph)
- Convert all 13 test methods from 2 classes to standalone functions
- Convert _check_objs from instance method to helper function

* Improve rdflib loader and dumper tests

* migrate to uv

* Migrate from Poetry to uv

- Replace Poetry with uv package manager
- Update all GitHub workflows to use uv
- Add uv.lock file and remove poetry.lock
- Update pyproject.toml to use modern dependency groups
- Remove obsolete tox.ini file

* add '&& uv add docker' for testing upstream

* Add requests-cache dependency to linkml installation in test-upstream workflow

This fixes ImportError for requests_cache module which is required by linkml-runtime tests.

* Fix upstream testing: use --all-extras instead of manually adding dependencies

This matches Poetry's '--all-extras' behavior which installs all optional dependencies
needed for the linkml tests, instead of manually adding individual packages.

* Install linkml-runtime with dev dependencies via dependency groups

Instead of manually adding individual packages, use uv's dependency groups
to properly install linkml-runtime with all its dev dependencies (docker,
requests-cache, etc.) that are needed for linkml tests.

* Add docker to dev dependencies

Docker is required by upstream linkml tests (imported in tests/conftest.py).
With Poetry this worked due to implicit dependency resolution, but uv
requires explicit declaration of dependencies.

* Explicitly add dev dependencies needed by linkml tests

The issue was that adding linkml-runtime to a dependency group doesn't
automatically install linkml-runtime's dev dependencies. We need to
explicitly add the packages that linkml tests require: docker and requests-cache.

* Add debug info and remaining missing dependencies for linkml tests

Added debug step to see what's installed and added the remaining dependencies
that linkml tests need: jsonpatch, testcontainers, and nbformat.

This should resolve all the ImportError issues we've been seeing.

* Properly declare upstream testing dependencies in pyproject.toml

Instead of manually adding dependencies in the workflow, properly declare
all dependencies needed for upstream linkml testing in linkml-runtime's
dev dependency group:

- docker (for container-based tests)
- jsonpatch (for dict comparison utilities)
- testcontainers (for PlantUML container tests)
- nbformat & nbconvert (for notebook testing)
- requests-cache (for caching test utilities)

This makes the dependency management much cleaner and more maintainable.

* Go nuclear: explicitly install all dependencies needed for linkml tests

The dependency group approach isn't working - uv isn't installing
linkml-runtime's dev dependencies into linkml's environment.

Fall back to explicitly installing every dependency that linkml tests need:
docker, requests-cache, jsonpatch, testcontainers, nbformat, nbconvert.

Sometimes you just have to be explicit with dependency management.

* fetch #2779 for updated pandera for upstream test

* update default upstream repo/branch for testing during migration

* update test-upstream.yaml and pyproject.toml as fork iquxle/linkml-runtime#400

* remove manual docker add - should be included via testcontainers dependency

* revert test-upstream defaults to linkml/linkml:main after migration completion

* Bump actions/download-artifact from 4.3.0 to 5.0.0

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v4.3.0...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump checkout action to v5

See #2865 for details

* Use full versions specs for all github actions

* Convert test_loaders_pydantic.py to pytest format

- Extract loader_test helper function from base class
- Convert 4 test methods to standalone functions
- Test both YAML and JSON loaders with different models

* Inline and simplify loader test

Explicitly add input files for test cases do not read test inputs from output directory

* Whitespace fix

* Convert test_loaders.py to pytest format

- Convert setUpClass to pytest module-scoped fixture
- Convert 6 test methods to standalone functions
- Convert unittest.skipIf to pytest.mark.skip
- Convert unittest.SkipTest to pytest.skip
- Reuse loader_test helper function from test_loaders_pydantic
- Preserve RDF loader functionality and context server setup

* Spelling fixes

* Minor tidying and enfixtureification of tests and test data in test_schemaview.py

* Add comprehensive tests for range determination

* Add in tests for slot_applicable_range_elements

* Misc tidying, documentation clarification

* Improve some tests and more general test tidying

* module_name parameter for compile_python

* Bump actions/setup-python from 5.6.0 to 6.0.0

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.6.0 to 6.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v5.6.0...v6.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0

Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.4 to 1.13.0.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](pypa/gh-action-pypi-publish@v1.12.4...v1.13.0)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-version: 1.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump astral-sh/setup-uv from 6.6.1 to 6.8.0

Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6.6.1 to 6.8.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@v6.6.1...v6.8.0)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 6.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump codecov/codecov-action from 5.4.3 to 5.5.1

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.4.3 to 5.5.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v5.4.3...v5.5.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Misc edits: add in tests for get_element, edit typing, rename some variables for clarity

* clarifying documentation, removing dupe line

* Add tests for get_identifier_slot and get_key_slot

* Split out long test method into many tests

* Break up long `test_imports` test into separate pieces

* Rearrange tests and remove duplicate lines

* Reordering functions relating to calculating relationships (ancestors/descendants, etc)

* Add kwargs input args to all the functions that use _closure(); edit the _closure function to remove some redundancy

* Add comprehensive tests for class relationships

* Edit permissible_value methods to throw an error if the enum-permissible value pairing is incorrect.

* Add a type_roots function to find all base types in a schema

* Adding function to detect cycles within a graph and hooking it up to the _closure function

* Adding comments

* Clarify function docs

* Add comprehensive tests for range determination

* Add in tests for slot_applicable_range_elements

* Misc tidying, documentation clarification

* Adding `induced_slot_range` function for generating a non-redundant set of possible ranges for a slot

* Fix format issues, adjust tox config

* Adding tests for namespaces and get_elements_applicable_by_prefix function

* Minor documentation fixes

* Edit namespaces function so that it does not retrieve curi_maps unnecessarily

* typo

* Adding tests for test_get_elements_applicable_by_identifier

* Skip issue in csv tests due to upstream for now.

* Adding tests for SchemaView's modification functions: adding or deleting elements in a schema.

* Add tests for the schemaview equality checks

* A couple of bonus tests, just for fun!

* update pydantic minimum version to 2.0.0

* move compile_python test; fix docstrings

* Allow detect_cycles to receive a list of nodes instead of just a single node

* Moving some functions and test data around in schemaview and test_schemaview

* Adding function get_string_type to retrieve the appropriate type for strings in the schema

* Deprecate `permissible_value_parent` and replace it with `permissible_value_parents`.

* Fix docs for permissible_value_parents/children

* make function private

* Add in checks to ensure that the slot is populated correctly when calling various slot range functions'

* Implementing suggestions made in PR comments

* Bump coverage from 7.9.1 to 7.10.7

Bumps [coverage](https://github.com/nedbat/coveragepy) from 7.9.1 to 7.10.7.
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.9.1...7.10.7)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.10.7
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump the dependencies group with 2 updates

Bumps the dependencies group with 2 updates: [pyyaml](https://github.com/yaml/pyyaml) and [requests](https://github.com/psf/requests).


Updates `pyyaml` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES)
- [Commits](yaml/pyyaml@6.0.2...6.0.3)

Updates `requests` from 2.32.4 to 2.32.5
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.32.4...v2.32.5)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: requests
  dependency-version: 2.32.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump jsonschema from 4.24.0 to 4.25.1

Bumps [jsonschema](https://github.com/python-jsonschema/jsonschema) from 4.24.0 to 4.25.1.
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](python-jsonschema/jsonschema@v4.24.0...v4.25.1)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-version: 4.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump curies from 0.10.19 to 0.10.23

Bumps [curies](https://github.com/biopragmatics/curies) from 0.10.19 to 0.10.23.
- [Release notes](https://github.com/biopragmatics/curies/releases)
- [Commits](biopragmatics/curies@v0.10.19...v0.10.23)

---
updated-dependencies:
- dependency-name: curies
  dependency-version: 0.10.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* pyproject.toml in need of repairs, but committing to share the challenge

* Temporarily ignore cleanup-script

* Move linkml source code to packages/linkml/src/linkml

This is part of the monorepo migration to uv-workspace structure.
Moves the main linkml package source code to its proper location.

* Move linkml tests to packages/linkml/tests

Moves all linkml-specific tests to the new monorepo structure.
Runtime tests remain in tests/linkml_runtime/ for next step.

* Move linkml_runtime tests to packages/linkml_runtime/tests

Moves runtime tests from tests/linkml_runtime/ to the package-specific
tests directory. Removes the now-empty root tests directory.

* Restructure linkml_runtime source to src/linkml/runtime

Moves runtime source code from packages/linkml_runtime/* to
packages/linkml_runtime/src/linkml/runtime/* following the
proper package structure for the monorepo.

* Fix linkml_runtime package structure

Move from src/linkml/runtime to src/linkml_runtime to maintain
the linkml_runtime import path and avoid breaking changes.

* Complete monorepo workspace configuration

- Update monorepo-cleanup.sh to use correct src/linkml_runtime path
- Add packages/linkml/pyproject.toml with workspace configuration
- Add packages/linkml/README.md
- Configure hatchling build targets for both packages
- Workspace now supports 'uv sync' and individual package builds

* Fix notebooks path for monorepo structure

Updated test_notebooks.py to use correct relative path to notebooks
directory from the new monorepo location (packages/linkml/tests).

* refactor tests, moving out of packages and into test/<package>, plus update actions and paths

* update linking expectations on runtime tests to match what we had set in the runtime repo

* move merged files to the right spot, fix imports

* turn off more lint checks for runtime tests

* update path to ignored E501 (long line) list

* one more to ignore for runtime tests

* fix ruff import ignore for notebooks

* fix import sorting in tests/linkml

* lint fix up at the top

* Fix quality checks: YAML syntax, codespell config, and formatting

- Fix YAML indentation error in array.yaml:14 (contributors field)
- Add ClassE to codespell ignore-words-list in both root and runtime pyproject.toml
- Configure pre-commit codespell hook to read pyproject.toml config and exclude .toml files
- Apply pre-commit auto-fixes: end-of-file-fixer, trailing-whitespace, ruff-format

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix rustgen test path calculation for examples folder

Change from parents[2] to parents[3] to correctly locate the examples
folder at the repository root. This fixes path errors after the monorepo
restructuring.

Fixes 3 test functions:
- test_rustgen_personschema_maturin
- test_rustgen_personschema_stubgen
- test_rustgen_file_mode_generation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix _diff_text() call for pytest 8.4.2 compatibility

pytest 8.4.2 changed the signature of _diff_text() to require a
'highlighter' parameter. Added a no-op highlighter function
(lambda x, **kwargs: x) to maintain compatibility.

This fixes TypeError when running tests with snapshot comparisons.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Revert trailing whitespace changes to linkml_runtime model schemas

Reverted trailing whitespace removal from schema YAML files to preserve
exact formatting required by snapshot tests. Added exclusion pattern to
pre-commit config to prevent future modifications.

Files reverted:
- types.yaml
- meta.yaml
- datasets.yaml
- units.yaml
- validation.yaml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix ruff formatting in conftest.py

Apply ruff-format to fix line length violation in _diff_text call.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix Windows test failures and slow test collection issues

1. Fix .gitattributes paths after test refactoring
   - Updated snapshot paths from tests/test_scripts/ to tests/linkml/test_scripts/
   - Added .yuml files to eol=lf enforcement
   - Fixes Windows line ending mismatches in snapshot comparisons

2. Remove linkml_runtime slow tests from workflow
   - No tests in linkml_runtime are marked with @pytest.mark.slow
   - Removed step that was causing exit code 5 (no tests collected)
   - Removed corresponding codecov upload

Both issues introduced during monorepo merge/refactoring.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* update uv build command in main action to build all packages

* also uv build all packages in the Dockerfile

---------

Signed-off-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Vlad Korolev <vlad@v-lad.org>
Co-authored-by: i alarmed alien <ialarmedalien@users.noreply.github.com>
Co-authored-by: ialarmedalien <ialarmedalien@gmail.com>
Co-authored-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
Co-authored-by: Sierra Moxon <sierra.taylor@gmail.com>
Co-authored-by: Kevin Schaper <kevinschaper@gmail.com>
Co-authored-by: Puja Trivedi <xspuja@gmail.com>
Co-authored-by: puja-trivedi <44144244+puja-trivedi@users.noreply.github.com>
Co-authored-by: iQuxLE <ckroll95@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tim Fliss <t.fliss@gmail.com>
Co-authored-by: Chris Mungall <cjm@berkeleybop.org>
Co-authored-by: Sujay Patil <sujaysanjeev.patil@gmail.com>
Co-authored-by: David Linke <david.linke@catalysis.de>
Co-authored-by: Claude <noreply@anthropic.com>
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.

5 participants