]> granicus.if.org Git - icu/commitdiff
ICU-22220 Automate BRS tasks
authorElango Cheran <elango@unicode.org>
Wed, 15 Feb 2023 00:18:10 +0000 (00:18 +0000)
committerElango Cheran <elango@unicode.org>
Thu, 16 Feb 2023 02:18:58 +0000 (21:18 -0500)
See #2318

.github/workflows/icu_ci.yml
docs/processes/release/tasks/healthy-code.md
docs/processes/release/tasks/integration.md

index eb4801b1b82932eb432ceca5d8e029788c19803b..4b0fe8857bdd296231db1b0b038a2815675667c7 100644 (file)
@@ -655,4 +655,64 @@ jobs:
           # To run all tests serially
           echo "Run all samples"
           pwd
-          PATH=$PATH:/tmp/icu_samples/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/icu_samples/lib make check-samples-recursive                  
+          PATH=$PATH:/tmp/icu_samples/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/icu_samples/lib make check-samples-recursive
+
+  # https://unicode-org.github.io/icu/processes/release/tasks/integration.html#verify-that-icu4c-tests-pass-without-collation-rule-strings
+  icu4c-without-collation-rule-strings:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - name: Install hjson dependency
+        run: |
+          sudo apt-get install python3-pip
+          pip3 install hjson
+      - name: Create data filter file to remove collation rule strings
+        run: |
+          cat > icu4c/coll-norules.hjson <<EOL
+          {
+            resourceFilters: [
+              {
+                categories: [
+                  coll_tree
+                ]
+                rules: [
+                  -/UCARules
+                  -/collations/*/Sequence
+                ]
+              }
+            ]
+          }
+          EOL
+      - name: Configure ICU4C with the data filter file
+        env:
+          ICU_DATA_FILTER_FILE: ../coll-norules.hjson
+        run: |
+          cd icu4c/source
+          ./runConfigureICU Linux
+      - name: Run tests with data-errors-as-warnings
+        env:
+          INTLTEST_OPTS: -w
+          CINTLTST_OPTS: -w
+        run: |
+          cd icu4c/source
+          make -j2 check
+  
+  # https://unicode-org.github.io/icu/processes/release/tasks/healthy-code.html#test-uconfig_no_conversion
+  icu4c-uconfig-no-version:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - name: Set UCONFIG_NO_CONVERSION and configure ICU4C
+        env:
+          UCONFIG_NO_CONVERSION: 1
+        run: |
+          cd icu4c/source
+          ./runConfigureICU Linux
+      - name: Run make for stubdata, common, i18n
+        run: |
+          cd icu4c/source
+          pushd stubdata && make -j 2 && popd
+          # Ensure lib directory for output object file exists
+          mkdir -p lib
+          pushd common && make -j 2 && popd
+          pushd i18n && make -j 2 && popd
index 9d6de58ea99e922f9271462d40dc81a6615f2ece..dfb4a8b9a4434e2ef781e8a2513897ccf50645ef 100644 (file)
@@ -393,6 +393,9 @@ The automated build system should have a machine that sets both
 
 ## Test UCONFIG_NO_CONVERSION
 
+Note: Since ICU 73, this test has been included in the Github Actions Continuous Integration jobs.
+These instructions explain how to run the test manually.
+
 Make sure that the ICU4C common and i18n libraries build with
 UCONFIG_NO_CONVERSION set to 1. We cannot do this as part of "Test uconfig.h
 variations" because the test suites cannot be built like this, but the library
index 7898951bb39cdceb15823eebd8f7c06beaabc209..f3cd5da8629f72fdfc4ff95adeabc64c79797d76 100644 (file)
@@ -176,6 +176,9 @@ now, this task is not required for ICU4J.
 
 ## Verify that ICU4C tests pass without collation rule strings
 
+Note: Since ICU 73, this test has been included in the Github Actions Continuous Integration jobs.
+These instructions explain how to run the test manually.
+
 ***ICU4C 53 and later***
 
 Background: [ICU-10636](https://unicode-org.atlassian.net/browse/ICU-10636)