Skip to content

Add path for extra RO-Crate profiles#119

Open
douglowe wants to merge 15 commits intodevelopfrom
107-adapt-docker-container-entry-point-to-use-alternative-profiles-directory
Open

Add path for extra RO-Crate profiles#119
douglowe wants to merge 15 commits intodevelopfrom
107-adapt-docker-container-entry-point-to-use-alternative-profiles-directory

Conversation

@douglowe
Copy link
Collaborator

@douglowe douglowe commented Jan 19, 2026

This PR adds functionality to provide extra profiles for the rocrate-validator to use. This is via the profiles_path so users will need to provide a directory containing all profiles (including their own), as the original profiles directory will not be used.

When the user provides profiles already present, the validator will run, but just give a warning along the lines of:

[2026-01-19 14:41:21,317] WARNING in models: Profile with identifier workflow-ro-crate-1.0 at                                                                                                
 /Users/user/work/manchester/eScience/HDR-FedA/Cratey-Validator/venv/lib/python3.11/site-packages/rocrate_validator/profiles/workflow-ro-crate is being overridden by the profile loaded from                   
 ../../RO-Crate-Tooling/rocrate-validator/rocrate_validator/profiles/workflow-ro-crate.                                                                                                     

Still to-do:

  • docker compose update
  • extend tests to cover situations where we add extra profiles?
  • README update

Side effects of this PR:

  • I've cleaned up the config class, and set it so that we use this class for initialising the celery instances.
  • I also (thank you chatgpt) added a more explicit check for existence of environment variables.
  • The requirement for the celery environment variables is relaxed, matching the previous setup. However this is now explicit, so it looks a bit odd that we don't mandate these important variables. If I make these required some tests fail though, and I've not explored yet why that is.
  • Environment variables for the celery worker in the docker compose files have been cleaned up, so it's more obvious which container needs what information.

@douglowe
Copy link
Collaborator Author

I have been stymied by inconsistent behaviour from the --extra-profiles-path flag. See this issue raised with CRS4: crs4/rocrate-validator#143

@douglowe
Copy link
Collaborator Author

I've added an integration test, which will fail until the validator is updated.

@douglowe
Copy link
Collaborator Author

douglowe commented Feb 9, 2026

I am sticking with the --profiles-path flag for now - so users will need to provide the entire profiles directory, to which their profile should be added.

I've updated the docker compose files, so that the profiles paths are provided, and to remove unnecessary environment variables for the celery worker.

@douglowe
Copy link
Collaborator Author

douglowe commented Feb 9, 2026

@alexhambley, @elichad, @OliverWoolland - this is ready for review now

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.

adapt docker container entry point to use alternative profiles directory

1 participant