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

Use latest dependencies in pipeline image #51

Merged

Conversation

lobis
Copy link
Member

@lobis lobis commented Jun 6, 2022

lobis Large: 745

Related to:

Using latest Geant4 versions (v11.0.2 at the time of writing).

I had to modify a few examples for them to pass, since we were doing some tests for specific events and choosing the same seed does not garantee the exact same outcome with different Geant4 versions.

I modified some of these examples to check for some average across all events, instead of checking for specific events. This way when we increase Geant4 version in the future we won't need to change this. I also updated the syntax to avoid using pointers etc. I added a tolerance instead of a exact number check, this helps avoid errors when working with real numbers, but the tolerance currently is 0.1% so its almost the same as checking exact values.

I also added better print during simulations. Now (on >= essential debug level) we get atleast 1% of events printed or atleast one event every 10 seconds, this way the user will not see a prompt without updates for long.

I discovered a bug preventing some values of metadata to be print on screen (rest-for-physics/geant4lib#53).

In this PR the tag of the image has been changed to rest-for-physics-dev instead of rest-for-physics but it will be moved back to rest-for-physics in a separate PR once that image is updated. The current rest-for-physics image will be preserved frozen as rest-for-physics-reference-jun2022.

Also I have found an issue #53 that makes examples ran with v11.0.2 generate too many tracks, but this surely can be fixed.

Regarding concenrs raised in rest-for-physics/framework#239 (comment) I have restructured the validation as follows:

  • All examples and validation are run for the current latest supported version of dependencies, in this case v11.0.2.
  • In the same workflow I also build restG4 for the reference version of Geant4, in this case v10.4.3, then I run a few examples with validations adapted to this version, so we can know it still works as before for old version. I have only added two examples (01 and 07) to this but more could be added, altough I wouldn't add many since it clutters things a bit, I think this is enough.

lobis added 30 commits June 6, 2022 10:17
@lobis lobis linked an issue Jun 13, 2022 that may be closed by this pull request
steps:
- name: Print version of dependencies for image
run: version.sh

- name: Checkout framework
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the build and installation of the framework, please consider to use .github/actions/build/action.yml from the framework branch.
This is not required in this PR, but we should avoid code duplication also in the workflows.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I will. Since in this case we only need to checkout a single submodule I think this way is more transparent.

@lobis lobis merged commit 9e12311 into master Jun 13, 2022
@lobis lobis deleted the 238-update-pipeline-image-to-use-latest-version-of-dependencies branch June 13, 2022 16:24
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.

Support Latest Geant4 Versions
3 participants