Skip to content

Commit bd065d4

Browse files
committed
ICU-22220 Automate BRS tasks
See #2318
1 parent a4c6b2a commit bd065d4

3 files changed

Lines changed: 67 additions & 1 deletion

File tree

.github/workflows/icu_ci.yml

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -655,4 +655,64 @@ jobs:
655655
# To run all tests serially
656656
echo "Run all samples"
657657
pwd
658-
PATH=$PATH:/tmp/icu_samples/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/icu_samples/lib make check-samples-recursive
658+
PATH=$PATH:/tmp/icu_samples/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/icu_samples/lib make check-samples-recursive
659+
660+
# https://unicode-org.github.io/icu/processes/release/tasks/integration.html#verify-that-icu4c-tests-pass-without-collation-rule-strings
661+
icu4c-without-collation-rule-strings:
662+
runs-on: ubuntu-latest
663+
steps:
664+
- uses: actions/checkout@v2
665+
- name: Install hjson dependency
666+
run: |
667+
sudo apt-get install python3-pip
668+
pip3 install hjson
669+
- name: Create data filter file to remove collation rule strings
670+
run: |
671+
cat > icu4c/coll-norules.hjson <<EOL
672+
{
673+
resourceFilters: [
674+
{
675+
categories: [
676+
coll_tree
677+
]
678+
rules: [
679+
-/UCARules
680+
-/collations/*/Sequence
681+
]
682+
}
683+
]
684+
}
685+
EOL
686+
- name: Configure ICU4C with the data filter file
687+
env:
688+
ICU_DATA_FILTER_FILE: ../coll-norules.hjson
689+
run: |
690+
cd icu4c/source
691+
./runConfigureICU Linux
692+
- name: Run tests with data-errors-as-warnings
693+
env:
694+
INTLTEST_OPTS: -w
695+
CINTLTST_OPTS: -w
696+
run: |
697+
cd icu4c/source
698+
make -j2 check
699+
700+
# https://unicode-org.github.io/icu/processes/release/tasks/healthy-code.html#test-uconfig_no_conversion
701+
icu4c-uconfig-no-version:
702+
runs-on: ubuntu-latest
703+
steps:
704+
- uses: actions/checkout@v2
705+
- name: Set UCONFIG_NO_CONVERSION and configure ICU4C
706+
env:
707+
UCONFIG_NO_CONVERSION: 1
708+
run: |
709+
cd icu4c/source
710+
./runConfigureICU Linux
711+
- name: Run make for stubdata, common, i18n
712+
run: |
713+
cd icu4c/source
714+
pushd stubdata && make -j 2 && popd
715+
# Ensure lib directory for output object file exists
716+
mkdir -p lib
717+
pushd common && make -j 2 && popd
718+
pushd i18n && make -j 2 && popd

docs/processes/release/tasks/healthy-code.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,9 @@ The automated build system should have a machine that sets both
393393
394394
## Test UCONFIG_NO_CONVERSION
395395
396+
Note: Since ICU 73, this test has been included in the Github Actions Continuous Integration jobs.
397+
These instructions explain how to run the test manually.
398+
396399
Make sure that the ICU4C common and i18n libraries build with
397400
UCONFIG_NO_CONVERSION set to 1. We cannot do this as part of "Test uconfig.h
398401
variations" because the test suites cannot be built like this, but the library

docs/processes/release/tasks/integration.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ now, this task is not required for ICU4J.
176176

177177
## Verify that ICU4C tests pass without collation rule strings
178178

179+
Note: Since ICU 73, this test has been included in the Github Actions Continuous Integration jobs.
180+
These instructions explain how to run the test manually.
181+
179182
***ICU4C 53 and later***
180183

181184
Background: [ICU-10636](https://unicode-org.atlassian.net/browse/ICU-10636)

0 commit comments

Comments
 (0)