From c2b3203ba480aff7cd9177126b12839346124531 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Tue, 19 Nov 2024 21:53:09 -0800 Subject: [PATCH 01/13] new way to subset azure tests --- azure-pipelines.yml | 36 ++-------------------- src/test/tests/azure/README.txt | 21 +++++++++++++ src/test/tests/azure/annotation_objects.py | 1 + src/test/tests/azure/atts_assign.py | 1 + src/test/tests/azure/blueprint.py | 1 + src/test/tests/azure/blueprint_export.py | 1 + src/test/tests/azure/convert2to3.py | 1 + src/test/tests/azure/ddf.py | 1 + src/test/tests/azure/default_methods.py | 1 + src/test/tests/azure/ghost_zoneid_expr.py | 1 + src/test/tests/azure/global_stats.py | 1 + src/test/tests/azure/math_expr.py | 1 + src/test/tests/azure/protocol.py | 1 + src/test/tests/azure/silo.py | 1 + src/test/tests/azure/tensor_expr.py | 1 + src/test/tests/azure/test_value_simple.py | 1 + src/test/tests/azure/utility.py | 1 + 17 files changed, 38 insertions(+), 34 deletions(-) create mode 100644 src/test/tests/azure/README.txt create mode 120000 src/test/tests/azure/annotation_objects.py create mode 120000 src/test/tests/azure/atts_assign.py create mode 120000 src/test/tests/azure/blueprint.py create mode 120000 src/test/tests/azure/blueprint_export.py create mode 120000 src/test/tests/azure/convert2to3.py create mode 120000 src/test/tests/azure/ddf.py create mode 120000 src/test/tests/azure/default_methods.py create mode 120000 src/test/tests/azure/ghost_zoneid_expr.py create mode 120000 src/test/tests/azure/global_stats.py create mode 120000 src/test/tests/azure/math_expr.py create mode 120000 src/test/tests/azure/protocol.py create mode 120000 src/test/tests/azure/silo.py create mode 120000 src/test/tests/azure/tensor_expr.py create mode 120000 src/test/tests/azure/test_value_simple.py create mode 120000 src/test/tests/azure/utility.py diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 30cba7d080..b56767591d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,27 +10,9 @@ ##### # TO USE A NEW CONTAINER, UPDATE TAG NAME HERE AS PART OF YOUR PR! -# Be sure to keep the list of files in python_test_files variable -# consistent with those same files listed in the paths trigger ##### variables: container_tag: visitdav/visit-ci-develop:2024-10-15-shac4fd59 - python_test_files: > - ../../src/test/tests/databases/silo.py - ../../src/test/tests/databases/blueprint.py - ../../src/test/tests/databases/blueprint_export.py - ../../src/test/tests/hybrid/ddf.py - ../../src/test/tests/unit/default_methods.py - ../../src/test/tests/unit/convert2to3.py - ../../src/test/tests/unit/atts_assign.py - ../../src/test/tests/unit/test_value_simple.py - ../../src/test/tests/unit/annotation_objects.py - ../../src/test/tests/unit/protocol.py - ../../src/test/tests/unit/utility.py - ../../src/test/tests/expressions/ghost_zoneid_expr.py - ../../src/test/tests/expressions/global_stats.py - ../../src/test/tests/expressions/math_expr.py - ../../src/test/tests/expressions/tensor_expr.py # only build merge target pr to develop trigger: none @@ -51,21 +33,7 @@ pr: - 'data/silo*' - 'data/blueprint*' - 'src/test/py_src/*.py' - - 'src/test/tests/databases/silo.py' - - 'src/test/tests/databases/blueprint.py' - - 'src/test/tests/databases/blueprint_export.py' - - 'src/test/tests/hybrid/ddf.py' - - 'src/test/tests/unit/default_methods.py' - - 'src/test/tests/unit/convert2to3.py' - - 'src/test/tests/unit/atts_assign.py' - - 'src/test/tests/unit/test_value_simple.py' - - 'src/test/tests/unit/annotation_objects.py' - - 'src/test/tests/unit/protocol.py' - - 'src/test/tests/unit/utility.py' - - 'src/test/tests/expressions/ghost_zoneid_expr.py' - - 'src/test/tests/expressions/global_stats.py' - - 'src/test/tests/expressions/math_expr.py' - - 'src/test/tests/expressions/tensor_expr.py' + - 'src/test/tests/azure/*.py' # fast fail consistency checks stages: @@ -158,7 +126,7 @@ stages: # add to ld_lib path (rpaths are missing?) export LD_LIBRARY_PATH=${VTK_LIB_DIR}:${OSPRAY_LIB_DIR}:${QT_LIB_DIR} # run test suite on silo + blueprint tests - export TESTS="$(python_test_files)" + export TESTS="$(ls ../../src/test/tests/azure/*.py)" ./run_visit_test_suite.sh --fuzzy --pixdiff 10 --avgdiff 10 --numdiff 0.1 -v ${TESTS} hasFailed="$(grep Failed\\\|Unacceptable\\\|OS-Killed output/html/index.html)" if [[ -n "$hasFailed" ]]; then diff --git a/src/test/tests/azure/README.txt b/src/test/tests/azure/README.txt new file mode 100644 index 0000000000..e56d858de0 --- /dev/null +++ b/src/test/tests/azure/README.txt @@ -0,0 +1,21 @@ +This directory maintains a "list" of those .py files we run +Pull Request CI on (via Azure). That "list" is implemented +as a bunch of symlinks from this dir to various .py files +we want to be executed during Pull Request CI. + +DO NOT ADD .py FILES HERE. + +Add only links to existing .py files in other parts of +src/test/tests dir tree here and so so only under the +following conditions... + +1) The test typically takes less than 20 seconds to run + "normally" (e.g. on nightly testing). +2) The test uses only Silo or Blueprint data or no data + at all. +3) The test tests something significantly different from + all the other .py files already linked here. + +If all of the above conditions are met, the adding a symlink +here to the associated .py file will have the effect of adding +it to the collection of tests performed during Pull Request CI. diff --git a/src/test/tests/azure/annotation_objects.py b/src/test/tests/azure/annotation_objects.py new file mode 120000 index 0000000000..fa11006763 --- /dev/null +++ b/src/test/tests/azure/annotation_objects.py @@ -0,0 +1 @@ +../unit/annotation_objects.py \ No newline at end of file diff --git a/src/test/tests/azure/atts_assign.py b/src/test/tests/azure/atts_assign.py new file mode 120000 index 0000000000..c723928a9b --- /dev/null +++ b/src/test/tests/azure/atts_assign.py @@ -0,0 +1 @@ +../unit/atts_assign.py \ No newline at end of file diff --git a/src/test/tests/azure/blueprint.py b/src/test/tests/azure/blueprint.py new file mode 120000 index 0000000000..2707fe2b08 --- /dev/null +++ b/src/test/tests/azure/blueprint.py @@ -0,0 +1 @@ +../databases/blueprint.py \ No newline at end of file diff --git a/src/test/tests/azure/blueprint_export.py b/src/test/tests/azure/blueprint_export.py new file mode 120000 index 0000000000..2dfe588074 --- /dev/null +++ b/src/test/tests/azure/blueprint_export.py @@ -0,0 +1 @@ +../databases/blueprint_export.py \ No newline at end of file diff --git a/src/test/tests/azure/convert2to3.py b/src/test/tests/azure/convert2to3.py new file mode 120000 index 0000000000..c29cabc980 --- /dev/null +++ b/src/test/tests/azure/convert2to3.py @@ -0,0 +1 @@ +../unit/convert2to3.py \ No newline at end of file diff --git a/src/test/tests/azure/ddf.py b/src/test/tests/azure/ddf.py new file mode 120000 index 0000000000..e5c81f5d4f --- /dev/null +++ b/src/test/tests/azure/ddf.py @@ -0,0 +1 @@ +../hybrid/ddf.py \ No newline at end of file diff --git a/src/test/tests/azure/default_methods.py b/src/test/tests/azure/default_methods.py new file mode 120000 index 0000000000..40ca47959e --- /dev/null +++ b/src/test/tests/azure/default_methods.py @@ -0,0 +1 @@ +../unit/default_methods.py \ No newline at end of file diff --git a/src/test/tests/azure/ghost_zoneid_expr.py b/src/test/tests/azure/ghost_zoneid_expr.py new file mode 120000 index 0000000000..183d05dfdf --- /dev/null +++ b/src/test/tests/azure/ghost_zoneid_expr.py @@ -0,0 +1 @@ +../expressions/ghost_zoneid_expr.py \ No newline at end of file diff --git a/src/test/tests/azure/global_stats.py b/src/test/tests/azure/global_stats.py new file mode 120000 index 0000000000..01a38cdd72 --- /dev/null +++ b/src/test/tests/azure/global_stats.py @@ -0,0 +1 @@ +../expressions/global_stats.py \ No newline at end of file diff --git a/src/test/tests/azure/math_expr.py b/src/test/tests/azure/math_expr.py new file mode 120000 index 0000000000..e48cb0e1d8 --- /dev/null +++ b/src/test/tests/azure/math_expr.py @@ -0,0 +1 @@ +../expressions/math_expr.py \ No newline at end of file diff --git a/src/test/tests/azure/protocol.py b/src/test/tests/azure/protocol.py new file mode 120000 index 0000000000..51020cf984 --- /dev/null +++ b/src/test/tests/azure/protocol.py @@ -0,0 +1 @@ +../unit/protocol.py \ No newline at end of file diff --git a/src/test/tests/azure/silo.py b/src/test/tests/azure/silo.py new file mode 120000 index 0000000000..3cca21fc12 --- /dev/null +++ b/src/test/tests/azure/silo.py @@ -0,0 +1 @@ +../databases/silo.py \ No newline at end of file diff --git a/src/test/tests/azure/tensor_expr.py b/src/test/tests/azure/tensor_expr.py new file mode 120000 index 0000000000..30c2c0b081 --- /dev/null +++ b/src/test/tests/azure/tensor_expr.py @@ -0,0 +1 @@ +../expressions/tensor_expr.py \ No newline at end of file diff --git a/src/test/tests/azure/test_value_simple.py b/src/test/tests/azure/test_value_simple.py new file mode 120000 index 0000000000..e2f0e95965 --- /dev/null +++ b/src/test/tests/azure/test_value_simple.py @@ -0,0 +1 @@ +../unit/test_value_simple.py \ No newline at end of file diff --git a/src/test/tests/azure/utility.py b/src/test/tests/azure/utility.py new file mode 120000 index 0000000000..6af4a2656d --- /dev/null +++ b/src/test/tests/azure/utility.py @@ -0,0 +1 @@ +../unit/utility.py \ No newline at end of file From baee9143ad24cf47603f82894141a4206e8a6ec6 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Wed, 20 Nov 2024 14:29:01 -0800 Subject: [PATCH 02/13] handle azure specially --- src/test/py_src/visit_test_suite.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/py_src/visit_test_suite.py b/src/test/py_src/visit_test_suite.py index 329aa2bd19..7637c71076 100755 --- a/src/test/py_src/visit_test_suite.py +++ b/src/test/py_src/visit_test_suite.py @@ -177,6 +177,8 @@ def launch_visit_test(args): opts = args[2] top_dir = visit_root() test_script = abs_path(test_path(),"visit_test_main.py") + if test.split('/')[-2] == 'azure': + test = abs_path('/'.join(test.split('/')[:-1]),os.readlink(test)) test_dir, test_file = os.path.split(test) test_cat = os.path.split(test_dir)[1] test_base = os.path.splitext(test_file)[0] @@ -974,6 +976,8 @@ def launch_tests(opts,tests): if len(results) != len(test_list): for t in test_args: if not t[0] in [ r.index for r in results]: + if t[1].split('/')[-2] == 'azure': + t[1] = abs_path('/'.join(t[1].split('/')[:-1]),os.readlink(t[1])) test_dir, test_file = os.path.split(t[1]) test_cat = os.path.split(test_dir)[1] test_base = os.path.splitext(test_file)[0] From c90ff40ee03b06b3ee1c53d1c8750c49d01a59b8 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:29:14 -0800 Subject: [PATCH 03/13] create cksum file --- src/test/prci_checksum.txt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/test/prci_checksum.txt diff --git a/src/test/prci_checksum.txt b/src/test/prci_checksum.txt new file mode 100644 index 0000000000..6ca4ea2d24 --- /dev/null +++ b/src/test/prci_checksum.txt @@ -0,0 +1,33 @@ +# This file holds a checksum of all the .py source code that is run +# during pull request CI. That is, any .py source file which includes +# the 'prci' string in the 'CLASSES' entry in the header of the file. +# +# This file is then used by Azure CI as one of the paths it checks to +# decide if it needs to trigger a new main build and run of tests. +# +# The string 'prci' stands for Pull Request Continuous Integration. +# +# To include any .py test script in pull request CI, just add the +# 'prci' string to the 'CLASSES' entry in the header of the file. +# +# New tests should be added only if they meet the following conditions... +# +# 1) The test typically takes less than 20 seconds to run "normally". +# 2) The test uses only Silo or Blueprint data or no data at all. +# 3) The test tests something significantly different from all the +# other .py files already included in prci. +# +# The command to produce the checksum is... +# +# find . -name '*.py' -exec grep -H -m 1 CLASSES {} \; | grep prci | \ +# cut -d':' -f1 | sort | xargs -n 1 cat | shasum -a 256 +# +# A GitHub Action maintains this checksum automatically. +# +# Because GitHub Actions and Azure CI are completely asyncronous to +# each other, its possible an Azure CI run can begin before the action +# that updates this checksum has completed. But, because any commit/push +# to a PR will cancel existing Azure runs and start new ones, this is ok. +# +# Checksum: +c5d80acd8b84f8924d62b6c84084c632bcc82e31796bc25c238e63bc8e89556b - From 96a0915ddac8ae2e85fc0935d37dcf950b0690bb Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:30:11 -0800 Subject: [PATCH 04/13] action update prci cksum --- .github/workflows/update_prci_cksum.yml | 29 +++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/update_prci_cksum.yml diff --git a/.github/workflows/update_prci_cksum.yml b/.github/workflows/update_prci_cksum.yml new file mode 100644 index 0000000000..8c3e6bea90 --- /dev/null +++ b/.github/workflows/update_prci_cksum.yml @@ -0,0 +1,29 @@ +name: Keep latest 60 results + +on: + pull_request: + +jobs: + compute-prci-checksum: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Compute checksum + run: | + cd src/test + + # Compute the checksum of all prci .py source code + cksum=$(find tests -name '*.py' -exec grep -H -m 1 CLASSES {} \; | grep prci | cut -d':' -f1 | sort | xargs -n 1 cat | shasum -a 256 | cut -d' ' -f1) + + # Update checksum in prci_checksum.txt + sed -i '' -e '/^# Checksum:/{' -e 'n' -e "s/.*/$cksum/" -e '}' prci_checksum.txt + + - name: Commit and push changes + run: | + git config --global user.email "action@github.com" + git config --global user.name "GitHub Action" + git add -A + git commit -m "Update prci checksum" || echo "No changes to commit" + git push From 48b790d0a7c2130c7bb51e721771a6aa62b04d24 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:30:30 -0800 Subject: [PATCH 05/13] add "prci" tag --- src/test/tests/databases/blueprint.py | 2 +- src/test/tests/databases/blueprint_export.py | 2 +- src/test/tests/databases/silo.py | 2 +- src/test/tests/expressions/ghost_zoneid_expr.py | 2 +- src/test/tests/expressions/global_stats.py | 2 +- src/test/tests/expressions/math_expr.py | 2 +- src/test/tests/expressions/tensor_expr.py | 2 +- src/test/tests/hybrid/ddf.py | 2 +- src/test/tests/unit/annotation_objects.py | 2 +- src/test/tests/unit/convert2to3.py | 2 +- src/test/tests/unit/default_methods.py | 2 +- src/test/tests/unit/protocol.py | 2 +- src/test/tests/unit/test_value_simple.py | 2 +- src/test/tests/unit/utility.py | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/test/tests/databases/blueprint.py b/src/test/tests/databases/blueprint.py index 0c331f3273..79803cbe8d 100644 --- a/src/test/tests/databases/blueprint.py +++ b/src/test/tests/databases/blueprint.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: blueprint.py # diff --git a/src/test/tests/databases/blueprint_export.py b/src/test/tests/databases/blueprint_export.py index b18cf02a09..c36519ecfc 100644 --- a/src/test/tests/databases/blueprint_export.py +++ b/src/test/tests/databases/blueprint_export.py @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # MODES: serial parallel -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: blueprint_export.py # diff --git a/src/test/tests/databases/silo.py b/src/test/tests/databases/silo.py index 303388fc1f..f583f13f66 100644 --- a/src/test/tests/databases/silo.py +++ b/src/test/tests/databases/silo.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: silo.py # diff --git a/src/test/tests/expressions/ghost_zoneid_expr.py b/src/test/tests/expressions/ghost_zoneid_expr.py index dc2e6ddc2c..1caab8cc34 100644 --- a/src/test/tests/expressions/ghost_zoneid_expr.py +++ b/src/test/tests/expressions/ghost_zoneid_expr.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: ghost_zoneid_expr.py # diff --git a/src/test/tests/expressions/global_stats.py b/src/test/tests/expressions/global_stats.py index a4b4891c89..081121e2b7 100644 --- a/src/test/tests/expressions/global_stats.py +++ b/src/test/tests/expressions/global_stats.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: global_stats.py # diff --git a/src/test/tests/expressions/math_expr.py b/src/test/tests/expressions/math_expr.py index 4e279fd30c..902037b70a 100644 --- a/src/test/tests/expressions/math_expr.py +++ b/src/test/tests/expressions/math_expr.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: math_expr.py # diff --git a/src/test/tests/expressions/tensor_expr.py b/src/test/tests/expressions/tensor_expr.py index 5f9e47fd3f..a5a401361f 100644 --- a/src/test/tests/expressions/tensor_expr.py +++ b/src/test/tests/expressions/tensor_expr.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: tensor_expr.py # diff --git a/src/test/tests/hybrid/ddf.py b/src/test/tests/hybrid/ddf.py index fbd8877cbf..8c2989bbd9 100644 --- a/src/test/tests/hybrid/ddf.py +++ b/src/test/tests/hybrid/ddf.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: ddf.py # diff --git a/src/test/tests/unit/annotation_objects.py b/src/test/tests/unit/annotation_objects.py index ace339936f..f827b7391e 100644 --- a/src/test/tests/unit/annotation_objects.py +++ b/src/test/tests/unit/annotation_objects.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: annotation_objects.py # diff --git a/src/test/tests/unit/convert2to3.py b/src/test/tests/unit/convert2to3.py index ed5850fef1..0ef50c031d 100644 --- a/src/test/tests/unit/convert2to3.py +++ b/src/test/tests/unit/convert2to3.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: convert2to3.py # diff --git a/src/test/tests/unit/default_methods.py b/src/test/tests/unit/default_methods.py index 4c71d91901..eae157d10f 100644 --- a/src/test/tests/unit/default_methods.py +++ b/src/test/tests/unit/default_methods.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: default_methods.py # diff --git a/src/test/tests/unit/protocol.py b/src/test/tests/unit/protocol.py index b975e6fb7f..eb53b1f3a3 100644 --- a/src/test/tests/unit/protocol.py +++ b/src/test/tests/unit/protocol.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: protocolo.py # diff --git a/src/test/tests/unit/test_value_simple.py b/src/test/tests/unit/test_value_simple.py index c5c463efa4..83b8feb1b1 100644 --- a/src/test/tests/unit/test_value_simple.py +++ b/src/test/tests/unit/test_value_simple.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: test_value_simple.py # diff --git a/src/test/tests/unit/utility.py b/src/test/tests/unit/utility.py index 8b8040ae93..75722100b3 100644 --- a/src/test/tests/unit/utility.py +++ b/src/test/tests/unit/utility.py @@ -1,5 +1,5 @@ # ---------------------------------------------------------------------------- -# CLASSES: nightly +# CLASSES: nightly, prci # # Test Case: utility.py # From d3835b02c93af46c13c9abef3a267308fa54b949 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:33:25 -0800 Subject: [PATCH 06/13] use cksum trigger --- azure-pipelines.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b56767591d..9cc3c65740 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -33,7 +33,7 @@ pr: - 'data/silo*' - 'data/blueprint*' - 'src/test/py_src/*.py' - - 'src/test/tests/azure/*.py' + - 'src/test/prci_checksum.txt # fast fail consistency checks stages: @@ -126,8 +126,8 @@ stages: # add to ld_lib path (rpaths are missing?) export LD_LIBRARY_PATH=${VTK_LIB_DIR}:${OSPRAY_LIB_DIR}:${QT_LIB_DIR} # run test suite on silo + blueprint tests - export TESTS="$(ls ../../src/test/tests/azure/*.py)" - ./run_visit_test_suite.sh --fuzzy --pixdiff 10 --avgdiff 10 --numdiff 0.1 -v ${TESTS} + export TESTS="$(find ../../src/test/tests -name '*.py' -exec grep -H -m 1 CLASSES {} \; | grep prci | cut -d':' -f1)" + ./run_visit_test_suite.sh --pixdiff 10 --avgdiff 10 --numdiff 0.1 -v ${TESTS} hasFailed="$(grep Failed\\\|Unacceptable\\\|OS-Killed output/html/index.html)" if [[ -n "$hasFailed" ]]; then exit 1 # tests failed From a6731539bccec1b41d99316e7df4c4e69dd8d510 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:35:48 -0800 Subject: [PATCH 07/13] adjust scripting --- .github/workflows/update_prci_cksum.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update_prci_cksum.yml b/.github/workflows/update_prci_cksum.yml index 8c3e6bea90..68b0b5a286 100644 --- a/.github/workflows/update_prci_cksum.yml +++ b/.github/workflows/update_prci_cksum.yml @@ -1,4 +1,4 @@ -name: Keep latest 60 results +name: Update PRCI checksum on: pull_request: @@ -13,12 +13,14 @@ jobs: - name: Compute checksum run: | cd src/test + pwd + ls # Compute the checksum of all prci .py source code cksum=$(find tests -name '*.py' -exec grep -H -m 1 CLASSES {} \; | grep prci | cut -d':' -f1 | sort | xargs -n 1 cat | shasum -a 256 | cut -d' ' -f1) # Update checksum in prci_checksum.txt - sed -i '' -e '/^# Checksum:/{' -e 'n' -e "s/.*/$cksum/" -e '}' prci_checksum.txt + sed -i -e '/^# Checksum:/{' -e 'n' -e "s/.*/$cksum/" -e '}' prci_checksum.txt - name: Commit and push changes run: | From c585716e1296c874aea85dfe682d0d0a2d401a0a Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:40:45 -0800 Subject: [PATCH 08/13] ensure branch is co --- .github/workflows/update_prci_cksum.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/update_prci_cksum.yml b/.github/workflows/update_prci_cksum.yml index 68b0b5a286..d6a1cc8ddc 100644 --- a/.github/workflows/update_prci_cksum.yml +++ b/.github/workflows/update_prci_cksum.yml @@ -9,6 +9,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} - name: Compute checksum run: | From 23255fe1efbcb0dca818ff551d3bc7e5ee6f07f8 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 21 Nov 2024 17:41:23 +0000 Subject: [PATCH 09/13] Update prci checksum --- src/test/prci_checksum.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/prci_checksum.txt b/src/test/prci_checksum.txt index 6ca4ea2d24..57ffe5bef2 100644 --- a/src/test/prci_checksum.txt +++ b/src/test/prci_checksum.txt @@ -30,4 +30,4 @@ # to a PR will cancel existing Azure runs and start new ones, this is ok. # # Checksum: -c5d80acd8b84f8924d62b6c84084c632bcc82e31796bc25c238e63bc8e89556b - +c5d80acd8b84f8924d62b6c84084c632bcc82e31796bc25c238e63bc8e89556b From cbe3cc012f133302b798bbe96ca4794bb802ccd9 Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:47:34 -0800 Subject: [PATCH 10/13] fix syntax error --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 9cc3c65740..1e03e2a8bc 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -33,7 +33,7 @@ pr: - 'data/silo*' - 'data/blueprint*' - 'src/test/py_src/*.py' - - 'src/test/prci_checksum.txt + - 'src/test/prci_checksum.txt' # fast fail consistency checks stages: From 0c0d2e77be6d28d3ddb3d22bb206092506d25efd Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 09:56:37 -0800 Subject: [PATCH 11/13] rm debug --- .github/workflows/update_prci_cksum.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/update_prci_cksum.yml b/.github/workflows/update_prci_cksum.yml index d6a1cc8ddc..843188edee 100644 --- a/.github/workflows/update_prci_cksum.yml +++ b/.github/workflows/update_prci_cksum.yml @@ -15,8 +15,6 @@ jobs: - name: Compute checksum run: | cd src/test - pwd - ls # Compute the checksum of all prci .py source code cksum=$(find tests -name '*.py' -exec grep -H -m 1 CLASSES {} \; | grep prci | cut -d':' -f1 | sort | xargs -n 1 cat | shasum -a 256 | cut -d' ' -f1) From 83c500c7b597188164e9fad1dbd980d44ba9d61d Mon Sep 17 00:00:00 2001 From: "Mark C. Miller" Date: Thu, 21 Nov 2024 13:33:20 -0800 Subject: [PATCH 12/13] remove symlink stuff --- src/test/tests/azure/README.txt | 21 --------------------- src/test/tests/azure/annotation_objects.py | 1 - src/test/tests/azure/atts_assign.py | 1 - src/test/tests/azure/blueprint.py | 1 - src/test/tests/azure/blueprint_export.py | 1 - src/test/tests/azure/convert2to3.py | 1 - src/test/tests/azure/ddf.py | 1 - src/test/tests/azure/default_methods.py | 1 - src/test/tests/azure/ghost_zoneid_expr.py | 1 - src/test/tests/azure/global_stats.py | 1 - src/test/tests/azure/math_expr.py | 1 - src/test/tests/azure/protocol.py | 1 - src/test/tests/azure/silo.py | 1 - src/test/tests/azure/tensor_expr.py | 1 - src/test/tests/azure/test_value_simple.py | 1 - src/test/tests/azure/utility.py | 1 - 16 files changed, 36 deletions(-) delete mode 100644 src/test/tests/azure/README.txt delete mode 120000 src/test/tests/azure/annotation_objects.py delete mode 120000 src/test/tests/azure/atts_assign.py delete mode 120000 src/test/tests/azure/blueprint.py delete mode 120000 src/test/tests/azure/blueprint_export.py delete mode 120000 src/test/tests/azure/convert2to3.py delete mode 120000 src/test/tests/azure/ddf.py delete mode 120000 src/test/tests/azure/default_methods.py delete mode 120000 src/test/tests/azure/ghost_zoneid_expr.py delete mode 120000 src/test/tests/azure/global_stats.py delete mode 120000 src/test/tests/azure/math_expr.py delete mode 120000 src/test/tests/azure/protocol.py delete mode 120000 src/test/tests/azure/silo.py delete mode 120000 src/test/tests/azure/tensor_expr.py delete mode 120000 src/test/tests/azure/test_value_simple.py delete mode 120000 src/test/tests/azure/utility.py diff --git a/src/test/tests/azure/README.txt b/src/test/tests/azure/README.txt deleted file mode 100644 index e56d858de0..0000000000 --- a/src/test/tests/azure/README.txt +++ /dev/null @@ -1,21 +0,0 @@ -This directory maintains a "list" of those .py files we run -Pull Request CI on (via Azure). That "list" is implemented -as a bunch of symlinks from this dir to various .py files -we want to be executed during Pull Request CI. - -DO NOT ADD .py FILES HERE. - -Add only links to existing .py files in other parts of -src/test/tests dir tree here and so so only under the -following conditions... - -1) The test typically takes less than 20 seconds to run - "normally" (e.g. on nightly testing). -2) The test uses only Silo or Blueprint data or no data - at all. -3) The test tests something significantly different from - all the other .py files already linked here. - -If all of the above conditions are met, the adding a symlink -here to the associated .py file will have the effect of adding -it to the collection of tests performed during Pull Request CI. diff --git a/src/test/tests/azure/annotation_objects.py b/src/test/tests/azure/annotation_objects.py deleted file mode 120000 index fa11006763..0000000000 --- a/src/test/tests/azure/annotation_objects.py +++ /dev/null @@ -1 +0,0 @@ -../unit/annotation_objects.py \ No newline at end of file diff --git a/src/test/tests/azure/atts_assign.py b/src/test/tests/azure/atts_assign.py deleted file mode 120000 index c723928a9b..0000000000 --- a/src/test/tests/azure/atts_assign.py +++ /dev/null @@ -1 +0,0 @@ -../unit/atts_assign.py \ No newline at end of file diff --git a/src/test/tests/azure/blueprint.py b/src/test/tests/azure/blueprint.py deleted file mode 120000 index 2707fe2b08..0000000000 --- a/src/test/tests/azure/blueprint.py +++ /dev/null @@ -1 +0,0 @@ -../databases/blueprint.py \ No newline at end of file diff --git a/src/test/tests/azure/blueprint_export.py b/src/test/tests/azure/blueprint_export.py deleted file mode 120000 index 2dfe588074..0000000000 --- a/src/test/tests/azure/blueprint_export.py +++ /dev/null @@ -1 +0,0 @@ -../databases/blueprint_export.py \ No newline at end of file diff --git a/src/test/tests/azure/convert2to3.py b/src/test/tests/azure/convert2to3.py deleted file mode 120000 index c29cabc980..0000000000 --- a/src/test/tests/azure/convert2to3.py +++ /dev/null @@ -1 +0,0 @@ -../unit/convert2to3.py \ No newline at end of file diff --git a/src/test/tests/azure/ddf.py b/src/test/tests/azure/ddf.py deleted file mode 120000 index e5c81f5d4f..0000000000 --- a/src/test/tests/azure/ddf.py +++ /dev/null @@ -1 +0,0 @@ -../hybrid/ddf.py \ No newline at end of file diff --git a/src/test/tests/azure/default_methods.py b/src/test/tests/azure/default_methods.py deleted file mode 120000 index 40ca47959e..0000000000 --- a/src/test/tests/azure/default_methods.py +++ /dev/null @@ -1 +0,0 @@ -../unit/default_methods.py \ No newline at end of file diff --git a/src/test/tests/azure/ghost_zoneid_expr.py b/src/test/tests/azure/ghost_zoneid_expr.py deleted file mode 120000 index 183d05dfdf..0000000000 --- a/src/test/tests/azure/ghost_zoneid_expr.py +++ /dev/null @@ -1 +0,0 @@ -../expressions/ghost_zoneid_expr.py \ No newline at end of file diff --git a/src/test/tests/azure/global_stats.py b/src/test/tests/azure/global_stats.py deleted file mode 120000 index 01a38cdd72..0000000000 --- a/src/test/tests/azure/global_stats.py +++ /dev/null @@ -1 +0,0 @@ -../expressions/global_stats.py \ No newline at end of file diff --git a/src/test/tests/azure/math_expr.py b/src/test/tests/azure/math_expr.py deleted file mode 120000 index e48cb0e1d8..0000000000 --- a/src/test/tests/azure/math_expr.py +++ /dev/null @@ -1 +0,0 @@ -../expressions/math_expr.py \ No newline at end of file diff --git a/src/test/tests/azure/protocol.py b/src/test/tests/azure/protocol.py deleted file mode 120000 index 51020cf984..0000000000 --- a/src/test/tests/azure/protocol.py +++ /dev/null @@ -1 +0,0 @@ -../unit/protocol.py \ No newline at end of file diff --git a/src/test/tests/azure/silo.py b/src/test/tests/azure/silo.py deleted file mode 120000 index 3cca21fc12..0000000000 --- a/src/test/tests/azure/silo.py +++ /dev/null @@ -1 +0,0 @@ -../databases/silo.py \ No newline at end of file diff --git a/src/test/tests/azure/tensor_expr.py b/src/test/tests/azure/tensor_expr.py deleted file mode 120000 index 30c2c0b081..0000000000 --- a/src/test/tests/azure/tensor_expr.py +++ /dev/null @@ -1 +0,0 @@ -../expressions/tensor_expr.py \ No newline at end of file diff --git a/src/test/tests/azure/test_value_simple.py b/src/test/tests/azure/test_value_simple.py deleted file mode 120000 index e2f0e95965..0000000000 --- a/src/test/tests/azure/test_value_simple.py +++ /dev/null @@ -1 +0,0 @@ -../unit/test_value_simple.py \ No newline at end of file diff --git a/src/test/tests/azure/utility.py b/src/test/tests/azure/utility.py deleted file mode 120000 index 6af4a2656d..0000000000 --- a/src/test/tests/azure/utility.py +++ /dev/null @@ -1 +0,0 @@ -../unit/utility.py \ No newline at end of file From 144393bb24f39f1797c43429b3c8197cfe80105a Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 21 Nov 2024 21:33:57 +0000 Subject: [PATCH 13/13] Update prci checksum --- src/test/prci_checksum.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/prci_checksum.txt b/src/test/prci_checksum.txt index 57ffe5bef2..48d09f6338 100644 --- a/src/test/prci_checksum.txt +++ b/src/test/prci_checksum.txt @@ -30,4 +30,4 @@ # to a PR will cancel existing Azure runs and start new ones, this is ok. # # Checksum: -c5d80acd8b84f8924d62b6c84084c632bcc82e31796bc25c238e63bc8e89556b +ddef973252f8007b8c8064779662ec0979cf68ce7f6b452fc83c4a4ad6eb4079