Skip to content

Commit 597529c

Browse files
authored
Jupyter docker: incremental build to add esgf-pyclient and xncml to fix Jenkins failure (#118)
# Overview This is a build on top of an existing build. A fresh full build because it would pull a newer RavenPy which would requires a newer RavenWPS, which do not start at this moment. This incremental build is faster to test and will fix our failing Jenkins due to missing package `esgf-pyclient`. It is annoying to have Jenkins failing since a while just for a missing package. ## Changes - Adds `esgf-pyclient` for esgf-dap.ipynb (Ouranosinc/pavics-sdi#269) - Adds `xncml` for gen_catalog refactoring (Ouranosinc/pavics-vdb#46) - Fixes annoying harmless error `ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed` - Jenkins: lower job retention duration since we now have separated jobs for nightly trigger and manual trigger - Existing `intake-esm` pin: #109 - Relevant changes (alphabetical order): ```diff > - esgf-pyclient=0.3.1=pyh1a96a4e_2 < - gdal=3.5.3=py38h1f15b03_4 > - gdal=3.6.0=py38h58634bd_13 > - xncml==0.2 ``` ## Test - Deployed as "beta" image in production for bokeh visualization performance regression testing. - Manual test notebook https://github.com/Ouranosinc/PAVICS-landing/blob/master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb for bokeh visualization performance and it looks fine. - Jenkins build: one known intermittent error [job-PAVICS-e2e-workflow-tests-quick-fix-production-image-3-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151086/job-PAVICS-e2e-workflow-tests-quick-fix-production-image-3-consoleText.txt) ## Related Issue / Discussion - Matching notebook fixes: - Pavics-sdi: Ouranosinc/pavics-sdi#285 - Deployment to PAVICS: bird-house/birdhouse-deploy#308 ## Additional Information Full diff conda env export: [221130-221130-update230403-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151115/221130-221130-update230403-conda-env-export.diff.txt) Full new conda env export: [221130-update230403-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151116/221130-update230403-conda-env-export.yml.txt) DockerHub build logs: [Dockerhub-buildlogs-pavics-workflow-tests-221130-update230403.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/11151131/Dockerhub-buildlogs-pavics-workflow-tests-221130-update230403.txt)
2 parents dca3028 + e665901 commit 597529c

File tree

5 files changed

+16
-10
lines changed

5 files changed

+16
-10
lines changed

Jenkinsfile

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pipeline {
1010
// https://jenkins.io/doc/book/pipeline/syntax/
1111
agent {
1212
docker {
13-
image "pavics/workflow-tests:221130"
13+
image "pavics/workflow-tests:221130-update230403"
1414
label 'linux && docker'
1515
}
1616
}
@@ -136,9 +136,8 @@ Note this is another run, will double the time and no guaranty to have same erro
136136
ansiColor('xterm')
137137
timestamps()
138138
timeout(time: 2, unit: 'HOURS')
139-
// trying to keep 2 months worth of history with buffer for manual
140-
// build trigger on failed builds or manual test after each production
141-
// deployment or test deployment
142-
buildDiscarder(logRotator(numToKeepStr: '200'))
139+
// trying to keep 3 months worth of history
140+
// assuming manual build requests are done on a separated job
141+
buildDiscarder(logRotator(numToKeepStr: '100'))
143142
}
144143
}

binder/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM pavics/workflow-tests:221130
1+
FROM pavics/workflow-tests:221130-update230403
22

33
USER root
44

docker/Dockerfile.testing

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
# For testing quickly without having to do a full rebuild.
22

3-
FROM pavics/workflow-tests:220728
3+
FROM pavics/workflow-tests:221130
4+
5+
# To avoid error "PROJ: proj_create_from_database: Open of /opt/conda/envs/birdy/share/proj failed"
6+
# This simulates a real `conda activate birdy`.
7+
ENV PROJ_DATA="/opt/conda/envs/birdy/share/proj"
48

59
USER root
610

711
# Use 'update' for existing and 'install' for new package.
812
# Keep same channel ordering to not revert anything.
13+
# esgf-pyclient for pavics-sdi esgf-dap.ipynb, PR https://github.com/Ouranosinc/pavics-sdi/pull/269
14+
# xncml for gen_catalog refactoring, PR https://github.com/Ouranosinc/pavics-vdb/pull/46
915
RUN umask 0000 \
10-
&& mamba install -c conda-forge -c cdat -c bokeh -c plotly -c pyston -c pyviz/label/dev -c defaults -n birdy geopy
16+
&& mamba install -c conda-forge -c cdat -c bokeh -c plotly -c pyston -c pyviz/label/dev -c defaults -n birdy esgf-pyclient \
17+
&& pip install xncml
1118
# && pip uninstall -y ravenpy \
1219
# && mamba install -c conda-forge -c cdat -c bokeh -c plotly -c defaults -n birdy ravenpy aiohttp
1320

launchcontainer

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh -x
22

33
if [ -z "$DOCKER_IMAGE" ]; then
4-
DOCKER_IMAGE="pavics/workflow-tests:221130"
4+
DOCKER_IMAGE="pavics/workflow-tests:221130-update230403"
55
fi
66

77
if [ -z "$CONTAINER_NAME" ]; then

launchnotebook

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if [ -z "$PORT" ]; then
77
fi
88

99
if [ -z "$DOCKER_IMAGE" ]; then
10-
DOCKER_IMAGE="pavics/workflow-tests:221130"
10+
DOCKER_IMAGE="pavics/workflow-tests:221130-update230403"
1111
fi
1212

1313
if [ -z "$CONTAINER_NAME" ]; then

0 commit comments

Comments
 (0)