From 4c168963086d30da0a1ca9a33b4521db21b7a448 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Thu, 18 Sep 2025 15:27:03 +0100 Subject: [PATCH 01/12] Switch ingestion to 'mysql' --- tests/testthat/data_files/obiba_opal-upload_testing_datasets.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R b/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R index ae79d2e62..34dcd94d5 100644 --- a/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R +++ b/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R @@ -8,7 +8,7 @@ library(tibble) upload_testing_dataset_table <- function(opal, project_name, table_name, local_file_path) { if (! opal.project_exists(opal, project_name)) - opal.project_create(opal, project_name, database = "mongodb") + opal.project_create(opal, project_name, database = "mysqldb") dataset_name <- load(file = local_file_path) dataset <- eval(as.symbol(dataset_name)) From 68e3a55838ad8c63cd78107af0e08b370be5d68b Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 19 Sep 2025 09:29:10 +0100 Subject: [PATCH 02/12] Updated lemon-donkey with RC5 --- docker-compose_opal.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose_opal.yml b/docker-compose_opal.yml index 40b3bf268..1a048f515 100644 --- a/docker-compose_opal.yml +++ b/docker-compose_opal.yml @@ -20,6 +20,6 @@ services: - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=foobar rock: - image: datashield/rock-omicron-karma-permissive:devel + image: datashield/rock-lemon-donkey-permissive:draft environment: DEBUG: "FALSE" From 5a6410d11c0938e0d1f4ca0dba18b410f98bc683 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 19 Sep 2025 13:30:02 +0100 Subject: [PATCH 03/12] Switch to 'mongodb' --- tests/testthat/data_files/obiba_opal-upload_testing_datasets.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R b/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R index 34dcd94d5..ae79d2e62 100644 --- a/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R +++ b/tests/testthat/data_files/obiba_opal-upload_testing_datasets.R @@ -8,7 +8,7 @@ library(tibble) upload_testing_dataset_table <- function(opal, project_name, table_name, local_file_path) { if (! opal.project_exists(opal, project_name)) - opal.project_create(opal, project_name, database = "mysqldb") + opal.project_create(opal, project_name, database = "mongodb") dataset_name <- load(file = local_file_path) dataset <- eval(as.symbol(dataset_name)) From d5707a2e7c3f85bb5957e469f98ec7bb361a7292 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 19 Sep 2025 13:57:04 +0100 Subject: [PATCH 04/12] Switched Armadillo 5.9.1 --- docker-compose_armadillo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose_armadillo.yml b/docker-compose_armadillo.yml index 7a791d39f..af9a730f0 100644 --- a/docker-compose_armadillo.yml +++ b/docker-compose_armadillo.yml @@ -3,7 +3,7 @@ services: hostname: armadillo ports: - 8080:8080 - image: datashield/armadillo_citest:latest + image: datashield/armadillo_citest:5.9.1 environment: LOGGING_CONFIG: 'classpath:logback-file.xml' AUDIT_LOG_PATH: '/app/logs/audit.log' From 6d0e19e796bfaf06b6bfd7c544bc269a5d9e06d9 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 29 Sep 2025 11:28:49 +0100 Subject: [PATCH 05/12] Update to Armadillo 5.9.4 --- docker-compose_armadillo.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose_armadillo.yml b/docker-compose_armadillo.yml index af9a730f0..26bd8b855 100644 --- a/docker-compose_armadillo.yml +++ b/docker-compose_armadillo.yml @@ -3,7 +3,7 @@ services: hostname: armadillo ports: - 8080:8080 - image: datashield/armadillo_citest:5.9.1 + image: datashield/armadillo_citest:5.9.4 environment: LOGGING_CONFIG: 'classpath:logback-file.xml' AUDIT_LOG_PATH: '/app/logs/audit.log' From 354de0c6fbb0ce00089976eca0cc73b99cf9e5e6 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 29 Sep 2025 14:13:48 +0100 Subject: [PATCH 06/12] Updated 'armadillo_azure-pipeline.csv' --- .../perf_files/armadillo_azure-pipeline.csv | 26 +++++++++---------- .../perf_files/default_perf_profile.csv | 26 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/tests/testthat/perf_files/armadillo_azure-pipeline.csv b/tests/testthat/perf_files/armadillo_azure-pipeline.csv index 186e1d583..e913cff92 100644 --- a/tests/testthat/perf_files/armadillo_azure-pipeline.csv +++ b/tests/testthat/perf_files/armadillo_azure-pipeline.csv @@ -1,14 +1,14 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.1275","0.5","2" -"ds.abs::perf::0","4.824","0.5","2" -"ds.asInteger::perf:0","4.366","0.5","2" -"ds.asList::perf:0","9.787","0.5","2" -"ds.asNumeric::perf:0","4.316","0.5","2" -"ds.assign::perf::0","8.055","0.5","2" -"ds.class::perf::combine:0","9.847","0.5","2" -"ds.colnames::perf:0","7.574","0.5","2" -"ds.exists::perf::combine:0","19.84","0.5","2" -"ds.length::perf::combine:0","19.58","0.5","2" -"ds.mean::perf::combine:0","19.66","0.5","2" -"ds.mean::perf::split:0","19.21","0.5","2" -"void::perf::void::0","41810.0","0.5","2" +"conndisconn::perf::simple0","0.1225","0.5","2" +"ds.abs::perf::0","5.820","0.5","2" +"ds.asInteger::perf:0","5.328","0.5","2" +"ds.asList::perf:0","11.71","0.5","2" +"ds.asNumeric::perf:0","5.268","0.5","2" +"ds.assign::perf::0","9.229","0.5","2" +"ds.class::perf::combine:0","10.84","0.5","2" +"ds.colnames::perf:0","7.993","0.5","2" +"ds.exists::perf::combine:0","21.68","0.5","2" +"ds.length::perf::combine:0","21.84","0.5","2" +"ds.mean::perf::combine:0","22.01","0.5","2" +"ds.mean::perf::split:0","22.22","0.5","2" +"void::perf::void::0","48520.0","0.5","2" diff --git a/tests/testthat/perf_files/default_perf_profile.csv b/tests/testthat/perf_files/default_perf_profile.csv index cff242360..e913cff92 100644 --- a/tests/testthat/perf_files/default_perf_profile.csv +++ b/tests/testthat/perf_files/default_perf_profile.csv @@ -1,14 +1,14 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.2118","0.5","2" -"ds.abs::perf::0","1.718","0.5","2" -"ds.asInteger::perf:0","1.484","0.5","2" -"ds.asList::perf:0","3.050","0.5","2" -"ds.asNumeric::perf:0","1.508","0.5","2" -"ds.assign::perf::0","3.547","0.5","2" -"ds.class::perf::combine:0","3.061","0.5","2" -"ds.colnames::perf:0","2.456","0.5","2" -"ds.exists::perf::combine:0","6.904","0.5","2" -"ds.length::perf::combine:0","6.058","0.5","2" -"ds.mean::perf::combine:0","5.892","0.5","2" -"ds.mean::perf::split:0","6.881","0.5","2" -"void::perf::void::0","27070.0","0.5","2" +"conndisconn::perf::simple0","0.1225","0.5","2" +"ds.abs::perf::0","5.820","0.5","2" +"ds.asInteger::perf:0","5.328","0.5","2" +"ds.asList::perf:0","11.71","0.5","2" +"ds.asNumeric::perf:0","5.268","0.5","2" +"ds.assign::perf::0","9.229","0.5","2" +"ds.class::perf::combine:0","10.84","0.5","2" +"ds.colnames::perf:0","7.993","0.5","2" +"ds.exists::perf::combine:0","21.68","0.5","2" +"ds.length::perf::combine:0","21.84","0.5","2" +"ds.mean::perf::combine:0","22.01","0.5","2" +"ds.mean::perf::split:0","22.22","0.5","2" +"void::perf::void::0","48520.0","0.5","2" From c954c7e3ce92427d58cc5bb8707b42f21b4dc7b0 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 29 Sep 2025 14:32:00 +0100 Subject: [PATCH 07/12] ds.mice check pased on driver --- tests/testthat/test-smk-ds.mice.R | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-smk-ds.mice.R b/tests/testthat/test-smk-ds.mice.R index 802cf8663..f1b05121e 100644 --- a/tests/testthat/test-smk-ds.mice.R +++ b/tests/testthat/test-smk-ds.mice.R @@ -82,7 +82,12 @@ test_that("mice, second imputation", { expect_length(newImp$sim2, 3) expect_length(newImp$sim3, 3) expect_true("character" %in% class(newImp$sim1$method)) - expect_equal(as.character(newImp$sim1$method), c("pmm","norm","pmm","pmm","pmm","","","","","","polyreg")) + if (ds.test_env$driver == "OpalDriver") + expect_equal(as.character(newImp$sim1$method), c("pmm","norm","pmm","pmm","pmm","","","","","","polyreg")) + else if (ds.test_env$driver == "ArmadilloDriver") + expect_equal(as.character(newImp$sim1$method), c("pmm","norm","pmm","pmm","pmm","","","","","","")) + else + expect_equal(as.character(newImp$sim1$method), c("pmm","norm","pmm","pmm","pmm","","","","","","polyreg")) expect_true("matrix" %in% class(newImp$sim1$predictorMatrix)) expect_true("array" %in% class(newImp$sim1$predictorMatrix)) expect_equal(as.numeric(newImp$sim1$predictorMatrix[,1]), c(0,1,1,1,1,1,1,1,1,1,1)) From cb70487d28ad79ca6b30a8ef69212952c21f85f3 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 29 Sep 2025 15:10:21 +0100 Subject: [PATCH 08/12] Updated 'armadillo_hp-laptop_quay' profile --- .../perf_files/armadillo_hp-laptop_quay.csv | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv b/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv index 6c6a3f337..864fbc015 100644 --- a/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv +++ b/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv @@ -1,14 +1,14 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.06225260028207","0.5","2" -"ds.abs::perf::0","2.602332538044","0.5","2" -"ds.asInteger::perf:0","2.16574645464856","0.5","2" -"ds.asList::perf:0","5.125787987349","0.5","2" -"ds.asNumeric::perf:0","2.02140793909654","0.5","2" -"ds.assign::perf::0","4.25379741119624","0.5","2" -"ds.class::perf::combine:0","5.03264832363257","0.5","2" -"ds.colnames::perf:0","3.61308626946146","0.5","2" -"ds.exists::perf::combine:0","8.47538336211864","0.5","2" -"ds.length::perf::combine:0","9.49818979827918","0.5","2" -"ds.mean::perf::combine:0","9.66558925664494","0.5","2" -"ds.mean::perf::split:0","8.6304479562724","0.5","2" -"void::perf::void::0","19351.7615914652","0.5","2" +"conndisconn::perf::simple0","1.205","0.5","2" +"ds.abs::perf::0","7.478","0.5","2" +"ds.asInteger::perf:0","7.474","0.5","2" +"ds.asList::perf:0","13.64","0.5","2" +"ds.asNumeric::perf:0","7.530","0.5","2" +"ds.assign::perf::0","18.47","0.5","2" +"ds.class::perf::combine:0","14.75","0.5","2" +"ds.colnames::perf:0","10.97","0.5","2" +"ds.exists::perf::combine:0","33.26","0.5","2" +"ds.length::perf::combine:0","33.38","0.5","2" +"ds.mean::perf::combine:0","32.29","0.5","2" +"ds.mean::perf::split:0","33.94","0.5","2" +"void::perf::void::0","20170.0","0.5","2" From 7bf31e64dca71a91356f5c1f3a6617af9209f263 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 29 Sep 2025 16:16:12 +0100 Subject: [PATCH 09/12] Updated 'armadillo_hp-laptop_quay.csv' --- .../perf_files/armadillo_hp-laptop_quay.csv | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv b/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv index 864fbc015..9ac69853e 100644 --- a/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv +++ b/tests/testthat/perf_files/armadillo_hp-laptop_quay.csv @@ -1,14 +1,14 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","1.205","0.5","2" -"ds.abs::perf::0","7.478","0.5","2" -"ds.asInteger::perf:0","7.474","0.5","2" -"ds.asList::perf:0","13.64","0.5","2" -"ds.asNumeric::perf:0","7.530","0.5","2" -"ds.assign::perf::0","18.47","0.5","2" -"ds.class::perf::combine:0","14.75","0.5","2" -"ds.colnames::perf:0","10.97","0.5","2" -"ds.exists::perf::combine:0","33.26","0.5","2" -"ds.length::perf::combine:0","33.38","0.5","2" -"ds.mean::perf::combine:0","32.29","0.5","2" -"ds.mean::perf::split:0","33.94","0.5","2" -"void::perf::void::0","20170.0","0.5","2" +"conndisconn::perf::simple0","0.04918","0.5","2" +"ds.abs::perf::0","1.184","0.5","2" +"ds.asInteger::perf:0","1.297","0.5","2" +"ds.asList::perf:0","2.884","0.5","2" +"ds.asNumeric::perf:0","1.354","0.5","2" +"ds.assign::perf::0","2.745","0.5","2" +"ds.class::perf::combine:0","3.261","0.5","2" +"ds.colnames::perf:0","2.404","0.5","2" +"ds.exists::perf::combine:0","6.342","0.5","2" +"ds.length::perf::combine:0","7.835","0.5","2" +"ds.mean::perf::combine:0","8.127","0.5","2" +"ds.mean::perf::split:0","8.109","0.5","2" +"void::perf::void::0","20280.0","0.5","2" From 330d2700ae224bd5af41ac7ab00e6d56f382e578 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Wed, 1 Oct 2025 11:12:20 +0100 Subject: [PATCH 10/12] Updated 'opal_azure-pipeline' --- .../perf_files/opal_azure-pipeline.csv | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/testthat/perf_files/opal_azure-pipeline.csv b/tests/testthat/perf_files/opal_azure-pipeline.csv index cff242360..d75711a36 100644 --- a/tests/testthat/perf_files/opal_azure-pipeline.csv +++ b/tests/testthat/perf_files/opal_azure-pipeline.csv @@ -1,14 +1,14 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.2118","0.5","2" -"ds.abs::perf::0","1.718","0.5","2" -"ds.asInteger::perf:0","1.484","0.5","2" -"ds.asList::perf:0","3.050","0.5","2" -"ds.asNumeric::perf:0","1.508","0.5","2" -"ds.assign::perf::0","3.547","0.5","2" -"ds.class::perf::combine:0","3.061","0.5","2" -"ds.colnames::perf:0","2.456","0.5","2" -"ds.exists::perf::combine:0","6.904","0.5","2" -"ds.length::perf::combine:0","6.058","0.5","2" -"ds.mean::perf::combine:0","5.892","0.5","2" -"ds.mean::perf::split:0","6.881","0.5","2" -"void::perf::void::0","27070.0","0.5","2" +"conndisconn::perf::simple0","0.2725","0.5","2" +"ds.abs::perf::0","2.677","0.5","2" +"ds.asInteger::perf:0","2.294","0.5","2" +"ds.asList::perf:0","4.587","0.5","2" +"ds.asNumeric::perf:0","2.185","0.5","2" +"ds.assign::perf::0","5.490","0.5","2" +"ds.class::perf::combine:0","4.760","0.5","2" +"ds.colnames::perf:0","4.159","0.5","2" +"ds.exists::perf::combine:0","11.09","0.5","2" +"ds.length::perf::combine:0","9.479","0.5","2" +"ds.mean::perf::combine:0","9.650","0.5","2" +"ds.mean::perf::split:0","11.26","0.5","2" +"void::perf::void::0","46250.0","0.5","2" From 1224d681a00287037786e20acb8482e16d409dbf Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Wed, 1 Oct 2025 11:14:03 +0100 Subject: [PATCH 11/12] Update 'default_perf_profile' --- .../perf_files/default_perf_profile.csv | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/testthat/perf_files/default_perf_profile.csv b/tests/testthat/perf_files/default_perf_profile.csv index e913cff92..d75711a36 100644 --- a/tests/testthat/perf_files/default_perf_profile.csv +++ b/tests/testthat/perf_files/default_perf_profile.csv @@ -1,14 +1,14 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"conndisconn::perf::simple0","0.1225","0.5","2" -"ds.abs::perf::0","5.820","0.5","2" -"ds.asInteger::perf:0","5.328","0.5","2" -"ds.asList::perf:0","11.71","0.5","2" -"ds.asNumeric::perf:0","5.268","0.5","2" -"ds.assign::perf::0","9.229","0.5","2" -"ds.class::perf::combine:0","10.84","0.5","2" -"ds.colnames::perf:0","7.993","0.5","2" -"ds.exists::perf::combine:0","21.68","0.5","2" -"ds.length::perf::combine:0","21.84","0.5","2" -"ds.mean::perf::combine:0","22.01","0.5","2" -"ds.mean::perf::split:0","22.22","0.5","2" -"void::perf::void::0","48520.0","0.5","2" +"conndisconn::perf::simple0","0.2725","0.5","2" +"ds.abs::perf::0","2.677","0.5","2" +"ds.asInteger::perf:0","2.294","0.5","2" +"ds.asList::perf:0","4.587","0.5","2" +"ds.asNumeric::perf:0","2.185","0.5","2" +"ds.assign::perf::0","5.490","0.5","2" +"ds.class::perf::combine:0","4.760","0.5","2" +"ds.colnames::perf:0","4.159","0.5","2" +"ds.exists::perf::combine:0","11.09","0.5","2" +"ds.length::perf::combine:0","9.479","0.5","2" +"ds.mean::perf::combine:0","9.650","0.5","2" +"ds.mean::perf::split:0","11.26","0.5","2" +"void::perf::void::0","46250.0","0.5","2" From 816fc5d4f51f3971f0df6c7d8d4403e739cdb9e4 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Fri, 3 Oct 2025 10:41:25 +0100 Subject: [PATCH 12/12] Removed testStatus --- azure-pipelines.yml | 88 --------------------------------------------- 1 file changed, 88 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 6c6103d4a..37bb6c775 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -3,11 +3,9 @@ # Starts with a vanilla Opal docker composition, installs dsBase # and dsBaseClient (as well as dependencies - including a fully functional # Opal server). -# Does checks and tests then saves results to testStatus repo. # # Inside the root directory $(Pipeline.Workspace) will be a file tree like: # /dsBaseClient <- Checked out version of datashield/dsBaseClient -# /testStatus <- Checked out version of datashield/testStatus # /logs <- Where results of tests and lots are collated # # As of May 2020 this takes ~ 70 mins to run. @@ -36,18 +34,6 @@ variables: _r_check_system_clock_: 0 -######################################################################################### -# Need to define all the GH repos and their access tokens, see: -# https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml -resources: - repositories: - - repository: testStatusRepo - type: github - endpoint: datashield-testing - name: datashield/testStatus - ref: master - - ######################################################################################### # When and under what condition to run the pipeline. schedules: @@ -82,11 +68,6 @@ jobs: - checkout: self path: 'dsBaseClient' - - checkout: testStatusRepo - path: 'testStatus' - persistCredentials: true - condition: and(eq(variables['Build.Repository.Name'], 'datashield/dsBaseClient'), ne(variables['Build.Reason'], 'PullRequest')) - ##################################################################################### # The MySQL install that comes with the VM doesn't seem compatable with our set up @@ -524,75 +505,6 @@ jobs: displayName: 'Down Opal Docker Composition' condition: succeeded() - ##################################################################################### - # Windup phase - ##################################################################################### - - ##################################################################################### - # Output some important version numbers to file. This gets added to the testStatus - # commit so it can be parsed and used on the status table. - - bash: | - - echo 'branch:'$(branchName) >> $(datetime).txt - echo 'os:'$(lsb_release -ds) >> $(datetime).txt - echo 'R:'$(R --version | head -n 1) >> $(datetime).txt - echo 'opal:'$(opal system --opal localhost:8443 --user administrator --password "datashield_test&" --version) >> $(datetime).txt - - workingDirectory: $(Pipeline.Workspace)/logs - displayName: 'Write versions to file' - condition: succeededOrFailed() - - - ##################################################################################### - # Checkout the testStatus repo, add the results from here, push back to GH. - # TODO: Automatically pull in better email/name info from somewhere. - # TODO: More debug info in commit message - - bash: | - - # Git needs some config set to be able to push to a repo. - git config --global user.email "you@example.com" - git config --global user.name "Azure pipeline" - - # This repo is checked out in detatched head state, so reconnect it here. - git checkout master - - # It is possible that other commits have been made to the testStatus repo since it - # was checked out. i.e. other pipeline runs might have finished. - git pull - - # Make the directories if they dont already exist - mkdir --parents logs/$(projectName)/$(branchName) - mkdir --parents docs/$(projectName)/$(branchName)/latest - - cp $(Pipeline.Workspace)/logs/coveragelist.csv logs/$(projectName)/$(branchName)/ - cp $(Pipeline.Workspace)/logs/coveragelist.csv logs/$(projectName)/$(branchName)/$(datetime).csv - - cp $(Pipeline.Workspace)/logs/test_results.xml logs/$(projectName)/$(branchName)/ - cp $(Pipeline.Workspace)/logs/test_results.xml logs/$(projectName)/$(branchName)/$(datetime).xml - - cp $(Pipeline.Workspace)/logs/$(datetime).txt logs/$(projectName)/$(branchName)/ - - # Run the script to parse the results and build the html pages. - # status.py JUnit_file.xml coverage_file.csv output_file.html local_repo_path remote_repo_name branch - source/status.py logs/$(projectName)/$(branchName)/$(datetime).xml logs/$(projectName)/$(branchName)/$(datetime).csv logs/$(projectName)/$(branchName)/$(datetime).txt status.html $(Pipeline.Workspace)/$(projectName) $(projectName) $(branchName) - - cp status.html docs/$(projectName)/$(branchName)/latest/index.html - git add logs/$(projectName)/$(branchName)/coveragelist.csv - git add logs/$(projectName)/$(branchName)/test_results.xml - git add logs/$(projectName)/$(branchName)/$(datetime).xml - git add logs/$(projectName)/$(branchName)/$(datetime).csv - git add logs/$(projectName)/$(branchName)/$(datetime).txt - git add docs/$(projectName)/$(branchName)/latest/index.html - - git commit -m "Azure auto test for $(projectName)/$(branchName) @ $(datetime)" -m "Debug info:\nProjectName:$(projectName)\nBranchName:$(branchName)\nDataTime:$(datetime)" - git push - exit 0 - - workingDirectory: $(Pipeline.Workspace)/testStatus - displayName: 'Parse test results' - condition: and(eq(variables['Build.Repository.Name'], 'datashield/dsBaseClient'), ne(variables['Build.Reason'], 'PullRequest')) - - ##################################################################################### # Output the environment information to the console. This is useful for debugging. # Always do this, even if some of the above has failed or the job has been cacelled.