Skip to content
Snippets Groups Projects
Commit 5bb5eb3d authored by Jean-Luc Parouty's avatar Jean-Luc Parouty
Browse files

Add error handling to ci test process

parent 7c040053
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
...@@ -19,149 +19,59 @@ ...@@ -19,149 +19,59 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 1,
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
{ {
"data": { "data": {
"text/html": [ "text/html": [
"<style type=\"text/css\" >\n", "<style type=\"text/css\" >\n",
" #T_15a01_ td {\n", " #T_58cf4_ td {\n",
" font-size: 110%;\n", " font-size: 110%;\n",
" text-align: left;\n", " text-align: left;\n",
" } #T_15a01_ th {\n", " } #T_58cf4_ th {\n",
" font-size: 110%;\n", " font-size: 110%;\n",
" text-align: left;\n", " text-align: left;\n",
" }#T_15a01_row4_col5,#T_15a01_row13_col5,#T_15a01_row14_col5{\n", " }#T_58cf4_row2_col7{\n",
" background-color: OrangeRed;\n", " background-color: OrangeRed;\n",
" color: white;\n", " color: white;\n",
" background-color: OrangeRed;\n", " background-color: OrangeRed;\n",
" color: white;\n", " color: white;\n",
" }</style><table id=\"T_15a01_\" ><thead> <tr> <th class=\"col_heading level0 col0\" >id</th> <th class=\"col_heading level0 col1\" >Repo</th> <th class=\"col_heading level0 col2\" >Name</th> <th class=\"col_heading level0 col3\" >Start</th> <th class=\"col_heading level0 col4\" >End</th> <th class=\"col_heading level0 col5\" >Duration</th> </tr></thead><tbody>\n", " }</style><table id=\"T_58cf4_\" ><thead> <tr> <th class=\"col_heading level0 col0\" >id</th> <th class=\"col_heading level0 col1\" >dir</th> <th class=\"col_heading level0 col2\" >src</th> <th class=\"col_heading level0 col3\" >out</th> <th class=\"col_heading level0 col4\" >start</th> <th class=\"col_heading level0 col5\" >end</th> <th class=\"col_heading level0 col6\" >duration</th> <th class=\"col_heading level0 col7\" >state</th> </tr></thead><tbody>\n",
" <tr>\n", " <tr>\n",
" <td id=\"T_15a01_row0_col0\" class=\"data row0 col0\" ><a href=\"../LinearReg/01-Linear-Regression.ipynb\">LINR1</a></td>\n", " <td id=\"T_58cf4_row0_col0\" class=\"data row0 col0\" ><a href='../LinearReg/01-Linear-Regression.ipynb'>LINR1</a></td>\n",
" <td id=\"T_15a01_row0_col1\" class=\"data row0 col1\" >LinearReg</td>\n", " <td id=\"T_58cf4_row0_col1\" class=\"data row0 col1\" >LinearReg</td>\n",
" <td id=\"T_15a01_row0_col2\" class=\"data row0 col2\" ><a href=\"../LinearReg/01-Linear-Regression.ipynb\"><b>01-Linear-Regression.ipynb</b></a></td>\n", " <td id=\"T_58cf4_row0_col2\" class=\"data row0 col2\" ><a href='../LinearReg/01-Linear-Regression.ipynb'>01-Linear-Regression.ipynb</a></td>\n",
" <td id=\"T_15a01_row0_col3\" class=\"data row0 col3\" >Sunday 10 January 2021, 22:54:49</td>\n", " <td id=\"T_58cf4_row0_col3\" class=\"data row0 col3\" ><a href='../LinearReg/01-Linear-Regression==done==.ipynb'>01-Linear-Regression==done==.ipynb</a></td>\n",
" <td id=\"T_15a01_row0_col4\" class=\"data row0 col4\" >Sunday 10 January 2021, 22:54:53</td>\n", " <td id=\"T_58cf4_row0_col4\" class=\"data row0 col4\" >11/01/21 01:07:35</td>\n",
" <td id=\"T_15a01_row0_col5\" class=\"data row0 col5\" >0:00:04</td>\n", " <td id=\"T_58cf4_row0_col5\" class=\"data row0 col5\" >11/01/21 01:07:39</td>\n",
" <td id=\"T_58cf4_row0_col6\" class=\"data row0 col6\" >0:00:04</td>\n",
" <td id=\"T_58cf4_row0_col7\" class=\"data row0 col7\" >ok</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <td id=\"T_15a01_row1_col0\" class=\"data row1 col0\" ><a href=\"../BHPD/01-DNN-Regression.ipynb\">BHPD1</a></td>\n", " <td id=\"T_58cf4_row1_col0\" class=\"data row1 col0\" ><a href='../IRIS/01-Simple-Perceptron.ipynb'>PER57</a></td>\n",
" <td id=\"T_15a01_row1_col1\" class=\"data row1 col1\" >BHPD</td>\n", " <td id=\"T_58cf4_row1_col1\" class=\"data row1 col1\" >IRIS</td>\n",
" <td id=\"T_15a01_row1_col2\" class=\"data row1 col2\" ><a href=\"../BHPD/01-DNN-Regression.ipynb\"><b>01-DNN-Regression.ipynb</b></a></td>\n", " <td id=\"T_58cf4_row1_col2\" class=\"data row1 col2\" ><a href='../IRIS/01-Simple-Perceptron.ipynb'>01-Simple-Perceptron.ipynb</a></td>\n",
" <td id=\"T_15a01_row1_col3\" class=\"data row1 col3\" >Friday 8 January 2021, 01:09:13</td>\n", " <td id=\"T_58cf4_row1_col3\" class=\"data row1 col3\" ><a href='../IRIS/01-Simple-Perceptron==done==.ipynb'>01-Simple-Perceptron==done==.ipynb</a></td>\n",
" <td id=\"T_15a01_row1_col4\" class=\"data row1 col4\" >Friday 8 January 2021, 01:09:24</td>\n", " <td id=\"T_58cf4_row1_col4\" class=\"data row1 col4\" >11/01/21 01:07:39</td>\n",
" <td id=\"T_15a01_row1_col5\" class=\"data row1 col5\" >00:00:11 984ms</td>\n", " <td id=\"T_58cf4_row1_col5\" class=\"data row1 col5\" >11/01/21 01:07:42</td>\n",
" <td id=\"T_58cf4_row1_col6\" class=\"data row1 col6\" >0:00:02</td>\n",
" <td id=\"T_58cf4_row1_col7\" class=\"data row1 col7\" >ok</td>\n",
" </tr>\n", " </tr>\n",
" <tr>\n", " <tr>\n",
" <td id=\"T_15a01_row2_col0\" class=\"data row2 col0\" ><a href=\"../BHPD/02-DNN-Regression-Premium.ipynb\">BHPD2</a></td>\n", " <td id=\"T_58cf4_row2_col0\" class=\"data row2 col0\" ><a href='../GTSRB/02-First-convolutions.ipynb'>GTSRB2</a></td>\n",
" <td id=\"T_15a01_row2_col1\" class=\"data row2 col1\" >BHPD</td>\n", " <td id=\"T_58cf4_row2_col1\" class=\"data row2 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row2_col2\" class=\"data row2 col2\" ><a href=\"../BHPD/02-DNN-Regression-Premium.ipynb\"><b>02-DNN-Regression-Premium.ipynb</b></a></td>\n", " <td id=\"T_58cf4_row2_col2\" class=\"data row2 col2\" ><a href='../GTSRB/02-First-convolutions.ipynb'>02-First-convolutions.ipynb</a></td>\n",
" <td id=\"T_15a01_row2_col3\" class=\"data row2 col3\" >Friday 8 January 2021, 01:10:28</td>\n", " <td id=\"T_58cf4_row2_col3\" class=\"data row2 col3\" ><a href='../GTSRB/02-First-convolutions==ERROR==.ipynb'>02-First-convolutions==ERROR==.ipynb</a></td>\n",
" <td id=\"T_15a01_row2_col4\" class=\"data row2 col4\" >Friday 8 January 2021, 01:10:39</td>\n", " <td id=\"T_58cf4_row2_col4\" class=\"data row2 col4\" >11/01/21 01:07:42</td>\n",
" <td id=\"T_15a01_row2_col5\" class=\"data row2 col5\" >00:00:12 582ms</td>\n", " <td id=\"T_58cf4_row2_col5\" class=\"data row2 col5\" >11/01/21 01:07:44</td>\n",
" </tr>\n", " <td id=\"T_58cf4_row2_col6\" class=\"data row2 col6\" >0:00:02</td>\n",
" <tr>\n", " <td id=\"T_58cf4_row2_col7\" class=\"data row2 col7\" >ERROR</td>\n",
" <td id=\"T_15a01_row3_col0\" class=\"data row3 col0\" ><a href=\"../GTSRB/01-Preparation-of-data.ipynb\">GTSRB1</a></td>\n",
" <td id=\"T_15a01_row3_col1\" class=\"data row3 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row3_col2\" class=\"data row3 col2\" ><a href=\"../GTSRB/01-Preparation-of-data.ipynb\"><b>01-Preparation-of-data.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row3_col3\" class=\"data row3 col3\" >Sunday 10 January 2021, 22:54:53</td>\n",
" <td id=\"T_15a01_row3_col4\" class=\"data row3 col4\" >Sunday 10 January 2021, 22:56:54</td>\n",
" <td id=\"T_15a01_row3_col5\" class=\"data row3 col5\" >0:02:00</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row4_col0\" class=\"data row4 col0\" ><a href=\"../GTSRB/02-First-convolutions.ipynb\">GTSRB2</a></td>\n",
" <td id=\"T_15a01_row4_col1\" class=\"data row4 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row4_col2\" class=\"data row4 col2\" ><a href=\"../GTSRB/02-First-convolutions.ipynb\"><b>02-First-convolutions.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row4_col3\" class=\"data row4 col3\" >Sunday 10 January 2021, 22:56:54</td>\n",
" <td id=\"T_15a01_row4_col4\" class=\"data row4 col4\" ></td>\n",
" <td id=\"T_15a01_row4_col5\" class=\"data row4 col5\" >Unfinished...</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row5_col0\" class=\"data row5 col0\" ><a href=\"../GTSRB/03-Tracking-and-visualizing.ipynb\">GTSRB3</a></td>\n",
" <td id=\"T_15a01_row5_col1\" class=\"data row5 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row5_col2\" class=\"data row5 col2\" ><a href=\"../GTSRB/03-Tracking-and-visualizing.ipynb\"><b>03-Tracking-and-visualizing.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row5_col3\" class=\"data row5 col3\" >Thursday 7 January 2021, 12:15:52</td>\n",
" <td id=\"T_15a01_row5_col4\" class=\"data row5 col4\" >Thursday 7 January 2021, 12:20:01</td>\n",
" <td id=\"T_15a01_row5_col5\" class=\"data row5 col5\" >00:04:09 711ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row6_col0\" class=\"data row6 col0\" ><a href=\"../GTSRB/04-Data-augmentation.ipynb\">GTSRB4</a></td>\n",
" <td id=\"T_15a01_row6_col1\" class=\"data row6 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row6_col2\" class=\"data row6 col2\" ><a href=\"../GTSRB/04-Data-augmentation.ipynb\"><b>04-Data-augmentation.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row6_col3\" class=\"data row6 col3\" >Thursday 7 January 2021, 13:40:52</td>\n",
" <td id=\"T_15a01_row6_col4\" class=\"data row6 col4\" >Thursday 7 January 2021, 13:41:31</td>\n",
" <td id=\"T_15a01_row6_col5\" class=\"data row6 col5\" >00:00:39 161ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row7_col0\" class=\"data row7 col0\" ><a href=\"../GTSRB/05-Full-convolutions.ipynb\">GTSRB5</a></td>\n",
" <td id=\"T_15a01_row7_col1\" class=\"data row7 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row7_col2\" class=\"data row7 col2\" ><a href=\"../GTSRB/05-Full-convolutions.ipynb\"><b>05-Full-convolutions.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row7_col3\" class=\"data row7 col3\" >Thursday 7 January 2021, 14:47:12</td>\n",
" <td id=\"T_15a01_row7_col4\" class=\"data row7 col4\" >Thursday 7 January 2021, 14:48:44</td>\n",
" <td id=\"T_15a01_row7_col5\" class=\"data row7 col5\" >00:01:32 269ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row8_col0\" class=\"data row8 col0\" ><a href=\"../GTSRB/06-Notebook-as-a-batch.ipynb\">GTSRB6</a></td>\n",
" <td id=\"T_15a01_row8_col1\" class=\"data row8 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row8_col2\" class=\"data row8 col2\" ><a href=\"../GTSRB/06-Notebook-as-a-batch.ipynb\"><b>06-Notebook-as-a-batch.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row8_col3\" class=\"data row8 col3\" >Thursday 7 January 2021, 15:41:17</td>\n",
" <td id=\"T_15a01_row8_col4\" class=\"data row8 col4\" >Thursday 7 January 2021, 15:41:18</td>\n",
" <td id=\"T_15a01_row8_col5\" class=\"data row8 col5\" >00:00:01 101ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row9_col0\" class=\"data row9 col0\" ><a href=\"../GTSRB/07-Show-report.ipynb\">GTSRB7</a></td>\n",
" <td id=\"T_15a01_row9_col1\" class=\"data row9 col1\" >GTSRB</td>\n",
" <td id=\"T_15a01_row9_col2\" class=\"data row9 col2\" ><a href=\"../GTSRB/07-Show-report.ipynb\"><b>07-Show-report.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row9_col3\" class=\"data row9 col3\" >Thursday 7 January 2021, 15:16:05</td>\n",
" <td id=\"T_15a01_row9_col4\" class=\"data row9 col4\" >Thursday 7 January 2021, 15:16:06</td>\n",
" <td id=\"T_15a01_row9_col5\" class=\"data row9 col5\" >00:00:00 116ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row10_col0\" class=\"data row10 col0\" ><a href=\"../SYNOP/01-Preparation-of-data.ipynb\">SYNOP1</a></td>\n",
" <td id=\"T_15a01_row10_col1\" class=\"data row10 col1\" >SYNOP</td>\n",
" <td id=\"T_15a01_row10_col2\" class=\"data row10 col2\" ><a href=\"../SYNOP/01-Preparation-of-data.ipynb\"><b>01-Preparation-of-data.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row10_col3\" class=\"data row10 col3\" >Saturday 9 January 2021, 10:04:28</td>\n",
" <td id=\"T_15a01_row10_col4\" class=\"data row10 col4\" >Saturday 9 January 2021, 10:04:34</td>\n",
" <td id=\"T_15a01_row10_col5\" class=\"data row10 col5\" >00:00:05 236ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row11_col0\" class=\"data row11 col0\" ><a href=\"../SYNOP/02-First-predictions.ipynb\">SYNOP2</a></td>\n",
" <td id=\"T_15a01_row11_col1\" class=\"data row11 col1\" >SYNOP</td>\n",
" <td id=\"T_15a01_row11_col2\" class=\"data row11 col2\" ><a href=\"../SYNOP/02-First-predictions.ipynb\"><b>02-First-predictions.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row11_col3\" class=\"data row11 col3\" >Saturday 9 January 2021, 10:30:55</td>\n",
" <td id=\"T_15a01_row11_col4\" class=\"data row11 col4\" >Saturday 9 January 2021, 10:31:11</td>\n",
" <td id=\"T_15a01_row11_col5\" class=\"data row11 col5\" >00:00:16 248ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row12_col0\" class=\"data row12 col0\" ><a href=\"../SYNOP/03-12h-predictions.ipynb\">SYNOP3</a></td>\n",
" <td id=\"T_15a01_row12_col1\" class=\"data row12 col1\" >SYNOP</td>\n",
" <td id=\"T_15a01_row12_col2\" class=\"data row12 col2\" ><a href=\"../SYNOP/03-12h-predictions.ipynb\"><b>03-12h-predictions.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row12_col3\" class=\"data row12 col3\" >Saturday 9 January 2021, 10:27:54</td>\n",
" <td id=\"T_15a01_row12_col4\" class=\"data row12 col4\" >Saturday 9 January 2021, 10:27:59</td>\n",
" <td id=\"T_15a01_row12_col5\" class=\"data row12 col5\" >00:00:05 249ms</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row13_col0\" class=\"data row13 col0\" ><a href=\"../VAE/01-VAE-with-MNIST.ipynb\">VAE1</a></td>\n",
" <td id=\"T_15a01_row13_col1\" class=\"data row13 col1\" >VAE</td>\n",
" <td id=\"T_15a01_row13_col2\" class=\"data row13 col2\" ><a href=\"../VAE/01-VAE-with-MNIST.ipynb\"><b>01-VAE-with-MNIST.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row13_col3\" class=\"data row13 col3\" >Thursday 7 January 2021, 09:37:44</td>\n",
" <td id=\"T_15a01_row13_col4\" class=\"data row13 col4\" ></td>\n",
" <td id=\"T_15a01_row13_col5\" class=\"data row13 col5\" >Unfinished...</td>\n",
" </tr>\n",
" <tr>\n",
" <td id=\"T_15a01_row14_col0\" class=\"data row14 col0\" ><a href=\"../VAE/08-VAE-with-CelebA.ipynb\">VAE8</a></td>\n",
" <td id=\"T_15a01_row14_col1\" class=\"data row14 col1\" >VAE</td>\n",
" <td id=\"T_15a01_row14_col2\" class=\"data row14 col2\" ><a href=\"../VAE/08-VAE-with-CelebA.ipynb\"><b>08-VAE-with-CelebA.ipynb</b></a></td>\n",
" <td id=\"T_15a01_row14_col3\" class=\"data row14 col3\" >Wednesday 6 January 2021, 22:17:12</td>\n",
" <td id=\"T_15a01_row14_col4\" class=\"data row14 col4\" ></td>\n",
" <td id=\"T_15a01_row14_col5\" class=\"data row14 col5\" >Unfinished...</td>\n",
" </tr>\n", " </tr>\n",
" </tbody></table>" " </tbody></table>"
], ],
"text/plain": [ "text/plain": [
"<pandas.io.formats.style.Styler at 0x7ff03f60f5d0>" "<pandas.io.formats.style.Styler at 0x7f1cf038af10>"
] ]
}, },
"metadata": {}, "metadata": {},
......
...@@ -6,13 +6,17 @@ LINR1: ...@@ -6,13 +6,17 @@ LINR1:
notebook_dir: LinearReg notebook_dir: LinearReg
notebook_src: 01-Linear-Regression.ipynb notebook_src: 01-Linear-Regression.ipynb
notebook_out: default notebook_out: default
GTSRB1: PER57:
notebook_dir: GTSRB notebook_dir: IRIS
notebook_src: 01-Preparation-of-data.ipynb notebook_src: 01-Simple-Perceptron.ipynb
notebook_out: default notebook_out: default
overrides: # GTSRB1:
scale: 0.1 # notebook_dir: GTSRB
output_dir: ./data # notebook_src: 01-Preparation-of-data.ipynb
# notebook_out: default
# overrides:
# scale: 0.1
# output_dir: ./data
GTSRB2: GTSRB2:
notebook_dir: GTSRB notebook_dir: GTSRB
notebook_src: 02-First-convolutions.ipynb notebook_src: 02-First-convolutions.ipynb
......
...@@ -158,19 +158,29 @@ def run_profile(profile, top_dir='..'): ...@@ -158,19 +158,29 @@ def run_profile(profile, top_dir='..'):
# ---- Top chrono # ---- Top chrono
# #
chrono_start() chrono_start()
update_ci_report(id, start=True) update_ci_report(id, notebook_dir, notebook_src, notebook_out, start=True)
# ---- Run, run, run... # ---- Try to run...
# #
print(' Run notebook...',end='') print(' Run notebook...',end='')
ep = ExecutePreprocessor(timeout=600, kernel_name="python3") try:
ep.preprocess(notebook) ep = ExecutePreprocessor(timeout=600, kernel_name="python3")
print('..done.') ep.preprocess(notebook)
except Exception as e:
happy_end = False
notebook_out = notebook_src.replace('.ipynb', '==ERROR==.ipynb')
print('\n ','*'*60)
print( ' ** AAARG.. An error occured : ',type(e).__name__)
print(f' ** See notebook : {notebook_out} for details.')
print(' ','*'*60)
else:
happy_end = True
print('..done.')
# ---- Top chrono # ---- Top chrono
# #
chrono_stop() chrono_stop()
update_ci_report(id, end=True) update_ci_report(id, notebook_dir, notebook_src, notebook_out, end=True, happy_end=happy_end)
print(' Duration : ',chrono_delay() ) print(' Duration : ',chrono_delay() )
# ---- Save notebook # ---- Save notebook
...@@ -212,7 +222,7 @@ def reset_ci_report(verbose=True): ...@@ -212,7 +222,7 @@ def reset_ci_report(verbose=True):
if verbose : print(f'Finished file has been reset.\n') if verbose : print(f'Finished file has been reset.\n')
def update_ci_report(notebook_id, start=False, end=False): def update_ci_report(notebook_id, notebook_dir, notebook_src, notebook_out, start=False, end=False, happy_end=True):
global start_time, end_time global start_time, end_time
if not os.access(config.CI_REPORT_JSON, os.W_OK): if not os.access(config.CI_REPORT_JSON, os.W_OK):
...@@ -220,57 +230,51 @@ def update_ci_report(notebook_id, start=False, end=False): ...@@ -220,57 +230,51 @@ def update_ci_report(notebook_id, start=False, end=False):
# ---- Load it # ---- Load it
with open(config.CI_REPORT_JSON) as fp: with open(config.CI_REPORT_JSON) as fp:
data = json.load(fp) report = json.load(fp)
# ---- Update as a start # ---- Update as a start
if start is True: if start is True:
data[notebook_id] = {} report[notebook_id] = {}
data[notebook_id]['path'] = os.getcwd() report[notebook_id]['dir'] = notebook_dir
data[notebook_id]['start'] = start_time.strftime("%A %-d %B %Y, %H:%M:%S") report[notebook_id]['src'] = notebook_src
data[notebook_id]['end'] = '' report[notebook_id]['out'] = notebook_out
data[notebook_id]['duration'] = 'Unfinished...' report[notebook_id]['start'] = start_time.strftime("%d/%m/%y %H:%M:%S")
report[notebook_id]['end'] = ''
report[notebook_id]['duration'] = 'Unfinished...'
report[notebook_id]['state'] = 'Unfinished...'
# ---- Update as an end # ---- Update as an end
if end is True: if end is True:
data[notebook_id]['end'] = end_time.strftime("%A %-d %B %Y, %H:%M:%S") report[notebook_id]['end'] = end_time.strftime("%d/%m/%y %H:%M:%S")
data[notebook_id]['duration'] = chrono_delay() report[notebook_id]['duration'] = chrono_delay()
report[notebook_id]['state'] = 'ok' if happy_end else 'ERROR'
report[notebook_id]['out'] = notebook_out # changeg in case of error
# ---- Save it # ---- Save it
with open(config.CI_REPORT_JSON,'wt') as fp: with open(config.CI_REPORT_JSON,'wt') as fp:
json.dump(data,fp,indent=4) json.dump(report,fp,indent=4)
def build_ci_report(display_output=True, save_html=True): def build_ci_report(display_output=True, save_html=True):
# ---- Load catalog (notebooks descriptions)
#
with open(config.CATALOG_FILE) as fp:
catalog = json.load(fp)
# ---- Load ci report # ---- Load ci report
# #
with open(config.CI_REPORT_JSON) as infile: with open(config.CI_REPORT_JSON) as infile:
ci_report = json.load( infile ) ci_report = json.load( infile )
# ---- For each entry # ---- Create a nice DataFrame
# #
col_id, col_repo, col_name, col_start, col_end, col_dur = [],[],[],[],[],[] df=pd.DataFrame(ci_report)
for id,about in catalog.items(): df=df.transpose()
if id in ci_report.keys(): df = df.rename_axis('id').reset_index()
ci_entry = ci_report[id]
dirname = about['dirname'] # ---- Change text columns, for nice html links
basename = about['basename'] #
df['id'] = df.apply(lambda r: f"<a href='../{r['dir']}/{r['src']}'>{r['id']}</a>", axis=1)
col_id.append( f'<a href="../{dirname}/{basename}">{id}</a>' ) df['src'] = df.apply(lambda r: f"<a href='../{r['dir']}/{r['src']}'>{r['src']}</a>", axis=1)
col_repo.append( dirname ) df['out'] = df.apply(lambda r: f"<a href='../{r['dir']}/{r['out']}'>{r['out']}</a>", axis=1)
col_name.append( f'<a href="../{dirname}/{basename}"><b>{basename}</b></a>' )
col_start.append( ci_entry['start'] )
col_end.append( ci_entry['end'] )
col_dur.append( ci_entry['duration'] )
df = pd.DataFrame( {'id':col_id, 'Repo':col_repo, 'Name':col_name, 'Start':col_start, 'End':col_end, 'Duration':col_dur} )
# ---- Add styles to be nice # ---- Add styles to be nice
# #
styles = [ styles = [
...@@ -278,7 +282,7 @@ def build_ci_report(display_output=True, save_html=True): ...@@ -278,7 +282,7 @@ def build_ci_report(display_output=True, save_html=True):
dict(selector="th", props=[("font-size", "110%"), ("text-align", "left")]) dict(selector="th", props=[("font-size", "110%"), ("text-align", "left")])
] ]
def still_pending(v): def still_pending(v):
return 'background-color: OrangeRed; color:white' if v == 'Unfinished...' else '' return 'background-color: OrangeRed; color:white' if v == 'ERROR' else ''
output = df[df.columns.values].style.set_table_styles(styles).hide_index().applymap(still_pending) output = df[df.columns.values].style.set_table_styles(styles).hide_index().applymap(still_pending)
......
...@@ -24,138 +24,48 @@ ...@@ -24,138 +24,48 @@
<body> <body>
<br>Hi, <br>Hi,
<p>Below is the result of the continuous integration tests of the Fidle project:</p> <p>Below is the result of the continuous integration tests of the Fidle project:</p>
<div class="header"><b>Report date :</b> Sunday 10 January 2021, 22:58:46</div> <div class="header"><b>Report date :</b> Monday 11 January 2021, 01:07:55</div>
<div class="result"> <div class="result">
<style type="text/css" > <style type="text/css" >
#T_15a01_ td { #T_58cf4_ td {
font-size: 110%; font-size: 110%;
text-align: left; text-align: left;
} #T_15a01_ th { } #T_58cf4_ th {
font-size: 110%; font-size: 110%;
text-align: left; text-align: left;
}#T_15a01_row4_col5,#T_15a01_row13_col5,#T_15a01_row14_col5{ }#T_58cf4_row2_col7{
background-color: OrangeRed; background-color: OrangeRed;
color: white; color: white;
}</style><table id="T_15a01_" ><thead> <tr> <th class="col_heading level0 col0" >id</th> <th class="col_heading level0 col1" >Repo</th> <th class="col_heading level0 col2" >Name</th> <th class="col_heading level0 col3" >Start</th> <th class="col_heading level0 col4" >End</th> <th class="col_heading level0 col5" >Duration</th> </tr></thead><tbody> }</style><table id="T_58cf4_" ><thead> <tr> <th class="col_heading level0 col0" >id</th> <th class="col_heading level0 col1" >dir</th> <th class="col_heading level0 col2" >src</th> <th class="col_heading level0 col3" >out</th> <th class="col_heading level0 col4" >start</th> <th class="col_heading level0 col5" >end</th> <th class="col_heading level0 col6" >duration</th> <th class="col_heading level0 col7" >state</th> </tr></thead><tbody>
<tr> <tr>
<td id="T_15a01_row0_col0" class="data row0 col0" ><a href="../LinearReg/01-Linear-Regression.ipynb">LINR1</a></td> <td id="T_58cf4_row0_col0" class="data row0 col0" ><a href='../LinearReg/01-Linear-Regression.ipynb'>LINR1</a></td>
<td id="T_15a01_row0_col1" class="data row0 col1" >LinearReg</td> <td id="T_58cf4_row0_col1" class="data row0 col1" >LinearReg</td>
<td id="T_15a01_row0_col2" class="data row0 col2" ><a href="../LinearReg/01-Linear-Regression.ipynb"><b>01-Linear-Regression.ipynb</b></a></td> <td id="T_58cf4_row0_col2" class="data row0 col2" ><a href='../LinearReg/01-Linear-Regression.ipynb'>01-Linear-Regression.ipynb</a></td>
<td id="T_15a01_row0_col3" class="data row0 col3" >Sunday 10 January 2021, 22:54:49</td> <td id="T_58cf4_row0_col3" class="data row0 col3" ><a href='../LinearReg/01-Linear-Regression==done==.ipynb'>01-Linear-Regression==done==.ipynb</a></td>
<td id="T_15a01_row0_col4" class="data row0 col4" >Sunday 10 January 2021, 22:54:53</td> <td id="T_58cf4_row0_col4" class="data row0 col4" >11/01/21 01:07:35</td>
<td id="T_15a01_row0_col5" class="data row0 col5" >0:00:04</td> <td id="T_58cf4_row0_col5" class="data row0 col5" >11/01/21 01:07:39</td>
<td id="T_58cf4_row0_col6" class="data row0 col6" >0:00:04</td>
<td id="T_58cf4_row0_col7" class="data row0 col7" >ok</td>
</tr> </tr>
<tr> <tr>
<td id="T_15a01_row1_col0" class="data row1 col0" ><a href="../BHPD/01-DNN-Regression.ipynb">BHPD1</a></td> <td id="T_58cf4_row1_col0" class="data row1 col0" ><a href='../IRIS/01-Simple-Perceptron.ipynb'>PER57</a></td>
<td id="T_15a01_row1_col1" class="data row1 col1" >BHPD</td> <td id="T_58cf4_row1_col1" class="data row1 col1" >IRIS</td>
<td id="T_15a01_row1_col2" class="data row1 col2" ><a href="../BHPD/01-DNN-Regression.ipynb"><b>01-DNN-Regression.ipynb</b></a></td> <td id="T_58cf4_row1_col2" class="data row1 col2" ><a href='../IRIS/01-Simple-Perceptron.ipynb'>01-Simple-Perceptron.ipynb</a></td>
<td id="T_15a01_row1_col3" class="data row1 col3" >Friday 8 January 2021, 01:09:13</td> <td id="T_58cf4_row1_col3" class="data row1 col3" ><a href='../IRIS/01-Simple-Perceptron==done==.ipynb'>01-Simple-Perceptron==done==.ipynb</a></td>
<td id="T_15a01_row1_col4" class="data row1 col4" >Friday 8 January 2021, 01:09:24</td> <td id="T_58cf4_row1_col4" class="data row1 col4" >11/01/21 01:07:39</td>
<td id="T_15a01_row1_col5" class="data row1 col5" >00:00:11 984ms</td> <td id="T_58cf4_row1_col5" class="data row1 col5" >11/01/21 01:07:42</td>
<td id="T_58cf4_row1_col6" class="data row1 col6" >0:00:02</td>
<td id="T_58cf4_row1_col7" class="data row1 col7" >ok</td>
</tr> </tr>
<tr> <tr>
<td id="T_15a01_row2_col0" class="data row2 col0" ><a href="../BHPD/02-DNN-Regression-Premium.ipynb">BHPD2</a></td> <td id="T_58cf4_row2_col0" class="data row2 col0" ><a href='../GTSRB/02-First-convolutions.ipynb'>GTSRB2</a></td>
<td id="T_15a01_row2_col1" class="data row2 col1" >BHPD</td> <td id="T_58cf4_row2_col1" class="data row2 col1" >GTSRB</td>
<td id="T_15a01_row2_col2" class="data row2 col2" ><a href="../BHPD/02-DNN-Regression-Premium.ipynb"><b>02-DNN-Regression-Premium.ipynb</b></a></td> <td id="T_58cf4_row2_col2" class="data row2 col2" ><a href='../GTSRB/02-First-convolutions.ipynb'>02-First-convolutions.ipynb</a></td>
<td id="T_15a01_row2_col3" class="data row2 col3" >Friday 8 January 2021, 01:10:28</td> <td id="T_58cf4_row2_col3" class="data row2 col3" ><a href='../GTSRB/02-First-convolutions==ERROR==.ipynb'>02-First-convolutions==ERROR==.ipynb</a></td>
<td id="T_15a01_row2_col4" class="data row2 col4" >Friday 8 January 2021, 01:10:39</td> <td id="T_58cf4_row2_col4" class="data row2 col4" >11/01/21 01:07:42</td>
<td id="T_15a01_row2_col5" class="data row2 col5" >00:00:12 582ms</td> <td id="T_58cf4_row2_col5" class="data row2 col5" >11/01/21 01:07:44</td>
</tr> <td id="T_58cf4_row2_col6" class="data row2 col6" >0:00:02</td>
<tr> <td id="T_58cf4_row2_col7" class="data row2 col7" >ERROR</td>
<td id="T_15a01_row3_col0" class="data row3 col0" ><a href="../GTSRB/01-Preparation-of-data.ipynb">GTSRB1</a></td>
<td id="T_15a01_row3_col1" class="data row3 col1" >GTSRB</td>
<td id="T_15a01_row3_col2" class="data row3 col2" ><a href="../GTSRB/01-Preparation-of-data.ipynb"><b>01-Preparation-of-data.ipynb</b></a></td>
<td id="T_15a01_row3_col3" class="data row3 col3" >Sunday 10 January 2021, 22:54:53</td>
<td id="T_15a01_row3_col4" class="data row3 col4" >Sunday 10 January 2021, 22:56:54</td>
<td id="T_15a01_row3_col5" class="data row3 col5" >0:02:00</td>
</tr>
<tr>
<td id="T_15a01_row4_col0" class="data row4 col0" ><a href="../GTSRB/02-First-convolutions.ipynb">GTSRB2</a></td>
<td id="T_15a01_row4_col1" class="data row4 col1" >GTSRB</td>
<td id="T_15a01_row4_col2" class="data row4 col2" ><a href="../GTSRB/02-First-convolutions.ipynb"><b>02-First-convolutions.ipynb</b></a></td>
<td id="T_15a01_row4_col3" class="data row4 col3" >Sunday 10 January 2021, 22:56:54</td>
<td id="T_15a01_row4_col4" class="data row4 col4" ></td>
<td id="T_15a01_row4_col5" class="data row4 col5" >Unfinished...</td>
</tr>
<tr>
<td id="T_15a01_row5_col0" class="data row5 col0" ><a href="../GTSRB/03-Tracking-and-visualizing.ipynb">GTSRB3</a></td>
<td id="T_15a01_row5_col1" class="data row5 col1" >GTSRB</td>
<td id="T_15a01_row5_col2" class="data row5 col2" ><a href="../GTSRB/03-Tracking-and-visualizing.ipynb"><b>03-Tracking-and-visualizing.ipynb</b></a></td>
<td id="T_15a01_row5_col3" class="data row5 col3" >Thursday 7 January 2021, 12:15:52</td>
<td id="T_15a01_row5_col4" class="data row5 col4" >Thursday 7 January 2021, 12:20:01</td>
<td id="T_15a01_row5_col5" class="data row5 col5" >00:04:09 711ms</td>
</tr>
<tr>
<td id="T_15a01_row6_col0" class="data row6 col0" ><a href="../GTSRB/04-Data-augmentation.ipynb">GTSRB4</a></td>
<td id="T_15a01_row6_col1" class="data row6 col1" >GTSRB</td>
<td id="T_15a01_row6_col2" class="data row6 col2" ><a href="../GTSRB/04-Data-augmentation.ipynb"><b>04-Data-augmentation.ipynb</b></a></td>
<td id="T_15a01_row6_col3" class="data row6 col3" >Thursday 7 January 2021, 13:40:52</td>
<td id="T_15a01_row6_col4" class="data row6 col4" >Thursday 7 January 2021, 13:41:31</td>
<td id="T_15a01_row6_col5" class="data row6 col5" >00:00:39 161ms</td>
</tr>
<tr>
<td id="T_15a01_row7_col0" class="data row7 col0" ><a href="../GTSRB/05-Full-convolutions.ipynb">GTSRB5</a></td>
<td id="T_15a01_row7_col1" class="data row7 col1" >GTSRB</td>
<td id="T_15a01_row7_col2" class="data row7 col2" ><a href="../GTSRB/05-Full-convolutions.ipynb"><b>05-Full-convolutions.ipynb</b></a></td>
<td id="T_15a01_row7_col3" class="data row7 col3" >Thursday 7 January 2021, 14:47:12</td>
<td id="T_15a01_row7_col4" class="data row7 col4" >Thursday 7 January 2021, 14:48:44</td>
<td id="T_15a01_row7_col5" class="data row7 col5" >00:01:32 269ms</td>
</tr>
<tr>
<td id="T_15a01_row8_col0" class="data row8 col0" ><a href="../GTSRB/06-Notebook-as-a-batch.ipynb">GTSRB6</a></td>
<td id="T_15a01_row8_col1" class="data row8 col1" >GTSRB</td>
<td id="T_15a01_row8_col2" class="data row8 col2" ><a href="../GTSRB/06-Notebook-as-a-batch.ipynb"><b>06-Notebook-as-a-batch.ipynb</b></a></td>
<td id="T_15a01_row8_col3" class="data row8 col3" >Thursday 7 January 2021, 15:41:17</td>
<td id="T_15a01_row8_col4" class="data row8 col4" >Thursday 7 January 2021, 15:41:18</td>
<td id="T_15a01_row8_col5" class="data row8 col5" >00:00:01 101ms</td>
</tr>
<tr>
<td id="T_15a01_row9_col0" class="data row9 col0" ><a href="../GTSRB/07-Show-report.ipynb">GTSRB7</a></td>
<td id="T_15a01_row9_col1" class="data row9 col1" >GTSRB</td>
<td id="T_15a01_row9_col2" class="data row9 col2" ><a href="../GTSRB/07-Show-report.ipynb"><b>07-Show-report.ipynb</b></a></td>
<td id="T_15a01_row9_col3" class="data row9 col3" >Thursday 7 January 2021, 15:16:05</td>
<td id="T_15a01_row9_col4" class="data row9 col4" >Thursday 7 January 2021, 15:16:06</td>
<td id="T_15a01_row9_col5" class="data row9 col5" >00:00:00 116ms</td>
</tr>
<tr>
<td id="T_15a01_row10_col0" class="data row10 col0" ><a href="../SYNOP/01-Preparation-of-data.ipynb">SYNOP1</a></td>
<td id="T_15a01_row10_col1" class="data row10 col1" >SYNOP</td>
<td id="T_15a01_row10_col2" class="data row10 col2" ><a href="../SYNOP/01-Preparation-of-data.ipynb"><b>01-Preparation-of-data.ipynb</b></a></td>
<td id="T_15a01_row10_col3" class="data row10 col3" >Saturday 9 January 2021, 10:04:28</td>
<td id="T_15a01_row10_col4" class="data row10 col4" >Saturday 9 January 2021, 10:04:34</td>
<td id="T_15a01_row10_col5" class="data row10 col5" >00:00:05 236ms</td>
</tr>
<tr>
<td id="T_15a01_row11_col0" class="data row11 col0" ><a href="../SYNOP/02-First-predictions.ipynb">SYNOP2</a></td>
<td id="T_15a01_row11_col1" class="data row11 col1" >SYNOP</td>
<td id="T_15a01_row11_col2" class="data row11 col2" ><a href="../SYNOP/02-First-predictions.ipynb"><b>02-First-predictions.ipynb</b></a></td>
<td id="T_15a01_row11_col3" class="data row11 col3" >Saturday 9 January 2021, 10:30:55</td>
<td id="T_15a01_row11_col4" class="data row11 col4" >Saturday 9 January 2021, 10:31:11</td>
<td id="T_15a01_row11_col5" class="data row11 col5" >00:00:16 248ms</td>
</tr>
<tr>
<td id="T_15a01_row12_col0" class="data row12 col0" ><a href="../SYNOP/03-12h-predictions.ipynb">SYNOP3</a></td>
<td id="T_15a01_row12_col1" class="data row12 col1" >SYNOP</td>
<td id="T_15a01_row12_col2" class="data row12 col2" ><a href="../SYNOP/03-12h-predictions.ipynb"><b>03-12h-predictions.ipynb</b></a></td>
<td id="T_15a01_row12_col3" class="data row12 col3" >Saturday 9 January 2021, 10:27:54</td>
<td id="T_15a01_row12_col4" class="data row12 col4" >Saturday 9 January 2021, 10:27:59</td>
<td id="T_15a01_row12_col5" class="data row12 col5" >00:00:05 249ms</td>
</tr>
<tr>
<td id="T_15a01_row13_col0" class="data row13 col0" ><a href="../VAE/01-VAE-with-MNIST.ipynb">VAE1</a></td>
<td id="T_15a01_row13_col1" class="data row13 col1" >VAE</td>
<td id="T_15a01_row13_col2" class="data row13 col2" ><a href="../VAE/01-VAE-with-MNIST.ipynb"><b>01-VAE-with-MNIST.ipynb</b></a></td>
<td id="T_15a01_row13_col3" class="data row13 col3" >Thursday 7 January 2021, 09:37:44</td>
<td id="T_15a01_row13_col4" class="data row13 col4" ></td>
<td id="T_15a01_row13_col5" class="data row13 col5" >Unfinished...</td>
</tr>
<tr>
<td id="T_15a01_row14_col0" class="data row14 col0" ><a href="../VAE/08-VAE-with-CelebA.ipynb">VAE8</a></td>
<td id="T_15a01_row14_col1" class="data row14 col1" >VAE</td>
<td id="T_15a01_row14_col2" class="data row14 col2" ><a href="../VAE/08-VAE-with-CelebA.ipynb"><b>08-VAE-with-CelebA.ipynb</b></a></td>
<td id="T_15a01_row14_col3" class="data row14 col3" >Wednesday 6 January 2021, 22:17:12</td>
<td id="T_15a01_row14_col4" class="data row14 col4" ></td>
<td id="T_15a01_row14_col5" class="data row14 col5" >Unfinished...</td>
</tr> </tr>
</tbody></table> </tbody></table>
</div> </div>
......
{ {
"VAE8": {
"path": "/home/pjluc/dev/fidle/VAE",
"start": "Wednesday 6 January 2021, 22:17:12",
"end": "",
"duration": "Unfinished..."
},
"VAE1": {
"path": "/home/pjluc/dev/fidle/VAE",
"start": "Thursday 7 January 2021, 09:37:44",
"end": "",
"duration": "Unfinished..."
},
"GTSRB1": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Sunday 10 January 2021, 22:54:53",
"end": "Sunday 10 January 2021, 22:56:54",
"duration": "0:02:00"
},
"GTSRB2": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Sunday 10 January 2021, 22:56:54",
"end": "",
"duration": "Unfinished..."
},
"GTSRB3": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Thursday 7 January 2021, 12:15:52",
"end": "Thursday 7 January 2021, 12:20:01",
"duration": "00:04:09 711ms"
},
"GTSRB4": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Thursday 7 January 2021, 13:40:52",
"end": "Thursday 7 January 2021, 13:41:31",
"duration": "00:00:39 161ms"
},
"GTSRB5": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Thursday 7 January 2021, 14:47:12",
"end": "Thursday 7 January 2021, 14:48:44",
"duration": "00:01:32 269ms"
},
"GTSRB6": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Thursday 7 January 2021, 15:41:17",
"end": "Thursday 7 January 2021, 15:41:18",
"duration": "00:00:01 101ms"
},
"GTSRB7": {
"path": "/home/pjluc/dev/fidle/GTSRB",
"start": "Thursday 7 January 2021, 15:16:05",
"end": "Thursday 7 January 2021, 15:16:06",
"duration": "00:00:00 116ms"
},
"BHPD1": {
"path": "/home/pjluc/dev/fidle/BHPD ",
"start": "Friday 8 January 2021, 01:09:13",
"end": "Friday 8 January 2021, 01:09:24",
"duration": "00:00:11 984ms"
},
"BHPD2": {
"path": "/home/pjluc/dev/fidle/BHPD ",
"start": "Friday 8 January 2021, 01:10:28",
"end": "Friday 8 January 2021, 01:10:39",
"duration": "00:00:12 582ms"
},
"SYNOP1": {
"path": "/home/pjluc/dev/fidle/SYNOP",
"start": "Saturday 9 January 2021, 10:04:28",
"end": "Saturday 9 January 2021, 10:04:34",
"duration": "00:00:05 236ms"
},
"SYNOP2": {
"path": "/home/pjluc/dev/fidle/SYNOP",
"start": "Saturday 9 January 2021, 10:30:55",
"end": "Saturday 9 January 2021, 10:31:11",
"duration": "00:00:16 248ms"
},
"SYNOP3": {
"path": "/home/pjluc/dev/fidle/SYNOP",
"start": "Saturday 9 January 2021, 10:27:54",
"end": "Saturday 9 January 2021, 10:27:59",
"duration": "00:00:05 249ms"
},
"LINR1": { "LINR1": {
"path": "/home/pjluc/dev/fidle/LinearReg", "dir": "LinearReg",
"start": "Sunday 10 January 2021, 22:54:49", "src": "01-Linear-Regression.ipynb",
"end": "Sunday 10 January 2021, 22:54:53", "out": "01-Linear-Regression==done==.ipynb",
"duration": "0:00:04" "start": "11/01/21 01:07:35",
"end": "11/01/21 01:07:39",
"duration": "0:00:04",
"state": "ok"
},
"PER57": {
"dir": "IRIS",
"src": "01-Simple-Perceptron.ipynb",
"out": "01-Simple-Perceptron==done==.ipynb",
"start": "11/01/21 01:07:39",
"end": "11/01/21 01:07:42",
"duration": "0:00:02",
"state": "ok"
}, },
"GTSRB0": { "GTSRB2": {
"path": "/home/pjluc/dev/fidle/GTSRB", "dir": "GTSRB",
"start": "Saturday 9 January 2021, 19:34:14", "src": "02-First-convolutions.ipynb",
"end": "", "out": "02-First-convolutions==ERROR==.ipynb",
"duration": "Unfinished..." "start": "11/01/21 01:07:42",
"end": "11/01/21 01:07:44",
"duration": "0:00:02",
"state": "ERROR"
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment