-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add optional default config to disable some notebooks in Jenkins #142
Conversation
CONFIG_PARAMETERS_SCRIPT_URL is the interractive version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there some pytest-native --skip
/ --ignore
or similar parameter that can be leveraged?
Can't the NBVAL OUTPUT ignore be used for them?
If those cannot work, can't we use the other skips already in place, such as moving them into https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/tree/master/notebooks-notworking or an equivalent in their corresponding repositories.
Can you provide more details about the failing notebooks? Why are they failing? If they fail for other reasons, why keep them (they don't seem like good tutorials to showcase if they don't work)?
I would really rather avoid introducing yet another custom script. There's already too many dynamic loads/enable/disable in that pipeline, that it takes days to investigate any minor issue.
There is
No because it's not the output, it's the code that fail.
The notebook is in another repo (RavenPy), not in PAVICS-e2e-workflow-tests so that folder
The authentication password on ESGF do not work anymore. For those with active password, I believe the notebook should still work. But good point, I'll check with David, he used to provide me with up-to-date password. But that means CRIM should also get your own password since it's David personal password.
Understood, you don't have to enable it if you do not feel confortable. We can find a compromise. I'll see if I can disable that RavenPy nb by another mean. I still have to provide an example script to show how the new default override can be used. For us, we will also leverage this mechanism to disable some more notebooks in the "generate output using jupyter nbconvert" phase. Your pipeline do not enable that phase so you do not need it. Just to be clear I actually did not introduce any new mechanisms. It's the existing mechanism to dynamically load a config that override the many Jenkins parameter that I move out to a function so I can call it twice: once for a default override (new) and once for the interactive from the Jenkins build request (existing). In order to make Jenkins config not specific to Ouranos, these dynamic override are more flexible than adding more params to Jenkins. These dynamic override can start testing repos unknown to the current Jenkins config. |
Discussed with David, we will simply disable that notebook in CSHS-CWRA/RavenPy#460. So this means you guys so not need to use this new feature anymore. But it'll be ready when you needed. Can I merge this PR and the corresponding Ouranosinc/jenkins-config#17? It's 100% backward compatible, nothing to do on your side if you do not want to enable it. |
…ecause they will eventually be enabled by default
Can be used in a single branch pipeline.
I'm not sure to see the different between some kind of Actually, wouldn't it be already possible via |
Yes that would work for the pytest step but not for the |
…led at source Keep sample code as example.
Also point to usage example directly on jenkins-config for additional clarify.
@fmigneault Renamed var and point to real usage on |
… pipeline in production
@fmigneault You okay with this PR now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the clarifications!
@tlvu To be noted that I did NOT apply any change mentioned in #142 (comment). It just ran with the usual references. Therefore, I have no idea why the notebooks listed in https://raw.githubusercontent.com/Ouranosinc/PAVICS-e2e-workflow-tests/refs/heads/master/test-override/jenkins-params-default.include.sh ran successfully this time. 🤔 http://daccs-jenkins.crim.ca/job/PAVICS-e2e-workflow-tests/job/master/54
|
Thanks for the confirmation on your side. That's why I closed bird-house/birdhouse-deploy#496 yesterday because I expected all the noteoboks should now be passing.
Like I already mentionned in comment #142 (comment) above: "For us, we will also leverage this mechanism to disable some more notebooks in the "generate output using jupyter nbconvert" phase. Your pipeline do not enable that phase so you do not need it." |
To be used together with Ouranosinc/jenkins-config#17.
If Jenkins
env.local
containsexport DEFAULT_CONFIG_PARAMETERS_SCRIPT_URL="https://raw.githubusercontent.com/Ouranosinc/PAVICS-e2e-workflow-tests/refs/heads/master/test-override/jenkins-params-default.include.sh"
notebooks that are known to have problems will be skipped so that Jenkins do not fail for known reasons.This is related to bird-house/birdhouse-deploy#496. If raven notebooks are enabled by default, then we need to blacklist one of them because that one never passed, see
test-override/jenkins-params-default.include.sh
(the file that Jenkins will be pointed to). The raven notebook is finally disabled by this PR CSHS-CWRA/RavenPy#460.In this same effort, we also add the ability to blacklist notebooks only at the "generating output.ipynb" stage, but not in "pytest stage". The reason is that those notebooks have some cells that are disabled during the "pytest stage" because they take too long so then there are no reason to generate the output because 1) it will timeout anyways, 2) the output won't match since some cells are disabled during "pytest stage".
@fmigneault
CRIM should simply point to our
https://raw.githubusercontent.com/Ouranosinc/PAVICS-e2e-workflow-tests/refs/heads/master/test-override/jenkins-params-default.include.sh
file so we will be responsible for keeping up-to-date this list of known failures to prevent breaking CRIM pipeline.