Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

resolve race conditions in CI ontology-processing jobs. #277

Open
ejmolinelli opened this issue Mar 6, 2025 · 0 comments
Open

resolve race conditions in CI ontology-processing jobs. #277

ejmolinelli opened this issue Mar 6, 2025 · 0 comments
Labels

Comments

@ejmolinelli
Copy link
Contributor

Motivation

We have two jobs to build and push ontology assets: generate_all_ontology and generate_diff_ontology. Both run in parallel and push changes to the same PR incoming branch, guaranteeing that one will fail due to its history not having the changes pushed by the other. This race condition invariably leads to a failed workflow.

We want to be able to rely on the integrity of our CI tests.

The generate_diff_ontology is an attempt to only rebuild assets for updated ontologies, and can save lots of time when PRs only introduce code changes, and not changes to the underlying ontologies.

Definition of Done

  • workflow should always succeed.
  • fast build when ontology versions are not modified
  • slower build when one or more ontology versions are modified
  • full (i..e slowest) build when the ontology asset definition is modified.

Tasks

  • consolidate into a single workflow, which conditionally adds the --diff tag to the all_ontology_generator.py invocation.

Detail the specific tasks that can be used to accomplish the desired changes.
If detailed steps cannot be provided at this time, please file a Tech Proposal instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant