Bump actions/checkout to v5 in github workflows (closes #2864)#2865
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
cmungall
approved these changes
Aug 14, 2025
iQuxLE
approved these changes
Aug 14, 2025
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
See linkml/linkml#2865 for details
vladistan
added a commit
to vladistan/linkml-runtime
that referenced
this pull request
Aug 30, 2025
See linkml/linkml#2865 for details
vladistan
added a commit
to vladistan/linkml-runtime
that referenced
this pull request
Aug 30, 2025
See linkml/linkml#2865 for details
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>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.