mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-04 21:15:35 +00:00
ICU-22324 Mavenization, step 2, change github / azure workflows
This commit is contained in:
parent
c7f227b37f
commit
b3d542392c
5 changed files with 53 additions and 40 deletions
|
@ -27,6 +27,9 @@ trigger:
|
|||
- KEYS
|
||||
- README.md
|
||||
|
||||
variables:
|
||||
MAVEN_ARGS: '--show-version --no-transfer-progress'
|
||||
|
||||
jobs:
|
||||
#-------------------------------------------------------------------------
|
||||
# Note: The exhaustive tests can take more than 1 hour to complete.
|
||||
|
@ -41,12 +44,12 @@ jobs:
|
|||
lfs: true
|
||||
fetchDepth: 10
|
||||
- script: |
|
||||
echo "Building ICU4J" && cd icu4j && ant init && ant exhaustiveCheck
|
||||
echo "Building ICU4J" && cd icu4j && mvn install -DICU.exhaustive=10
|
||||
displayName: 'Build and Exhaustive Tests'
|
||||
env:
|
||||
BUILD: ICU4J
|
||||
- script: |
|
||||
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`
|
||||
cd icu4j && cat `find . -name surefire-reports -type d -exec grep -l -r --include="*.txt" FAILED {} \;`
|
||||
condition: failed() # only run if the build fails.
|
||||
displayName: 'List failures (if any)'
|
||||
timeoutInMinutes: 2
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Azure Pipelines (VSTS) configuration for CI builds for ICU.
|
||||
|
||||
variables:
|
||||
MAVEN_ARGS: '--show-version --no-transfer-progress'
|
||||
|
||||
jobs:
|
||||
#-------------------------------------------------------------------------
|
||||
- job: ICU4J_OpenJDK_Ubuntu_2204
|
||||
|
@ -13,13 +16,13 @@ jobs:
|
|||
lfs: true
|
||||
fetchDepth: 10
|
||||
- script: |
|
||||
echo "Building ICU4J" && cd icu4j && ant init && ant check && ant localespiCheck
|
||||
echo "Building ICU4J" && cd icu4j && mvn install
|
||||
displayName: 'Build and Test'
|
||||
env:
|
||||
BUILD: ICU4J
|
||||
# exit with a non-zero status in order to make this step show as a red X in the UI.
|
||||
- script: |
|
||||
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;` && exit 1
|
||||
cd icu4j && cat `find . -name surefire-reports -type d -exec grep -l -r --include="*.txt" FAILED {} \;` && exit 1
|
||||
condition: failed() # only run if the build fails.
|
||||
displayName: 'List failures (if any)'
|
||||
#-------------------------------------------------------------------------
|
||||
|
|
33
.github/workflows/icu_ci.yml
vendored
33
.github/workflows/icu_ci.yml
vendored
|
@ -12,6 +12,12 @@ on:
|
|||
- 'maint/maint*'
|
||||
pull_request:
|
||||
branches: '**'
|
||||
workflow_dispatch:
|
||||
# To trigger the Env Test workflow manually, follow the instructions in
|
||||
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
|
||||
|
||||
env:
|
||||
MAVEN_ARGS: '--show-version --no-transfer-progress'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
@ -33,8 +39,8 @@ jobs:
|
|||
# Regex note: (?! ... ) is a negative lookahead. Succeed if the pattern is not present.
|
||||
set +o pipefail && make doc 2>&1 | tee doxygen.log && ( ! grep -P 'warning:(?! .* file .?Doxyfile)' doxygen.log )
|
||||
|
||||
# ICU4J build and unit test using Ant
|
||||
icu4j-ant-build-and-test:
|
||||
# ICU4J build and unit test using Maven
|
||||
icu4j-mvn-build-and-test:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
@ -54,12 +60,10 @@ jobs:
|
|||
- name: ICU4J
|
||||
run: |
|
||||
cd icu4j;
|
||||
ant init;
|
||||
ant check;
|
||||
ant localespiCheck
|
||||
mvn install
|
||||
- name: List failures (if any)
|
||||
run: |
|
||||
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`;
|
||||
cd icu4j && cat `find . -name surefire-reports -type d -exec grep -l -r --include="*.txt" FAILED {} \;`;
|
||||
if: ${{ failure() }}
|
||||
|
||||
# ICU4J build and unit tests using Maven
|
||||
|
@ -92,7 +96,7 @@ jobs:
|
|||
cache: maven
|
||||
- name: Run Maven test
|
||||
run: |
|
||||
cd icu4j/maven-build;
|
||||
cd icu4j;
|
||||
mvn --batch-mode test
|
||||
|
||||
# Run `verify` to ensure that `package` (creating .jar files) and `integration-test` (special setup for localespi tests) work
|
||||
|
@ -120,7 +124,7 @@ jobs:
|
|||
# integration tests, if any (`integration-test`)
|
||||
- name: Run Maven verify
|
||||
run: |
|
||||
cd icu4j/maven-build;
|
||||
cd icu4j;
|
||||
mvn --batch-mode verify
|
||||
|
||||
# ICU4J build and unit test under lstm
|
||||
|
@ -147,16 +151,15 @@ jobs:
|
|||
- name: ICU4J
|
||||
run: |
|
||||
cd icu4j;
|
||||
ant init;
|
||||
ant check;
|
||||
ant localespiCheck
|
||||
mvn install
|
||||
- name: List failures (if any)
|
||||
run: |
|
||||
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`;
|
||||
cd icu4j && cat `find . -name surefire-reports -type d -exec grep -l -r --include="*.txt" FAILED {} \;`;
|
||||
if: ${{ failure() }}
|
||||
|
||||
# ICU4J build and unit test under adaboost
|
||||
adaboost-icu4j-build-and-test:
|
||||
if: false # Temporary disable, until we disable the .jar creation from C and distribute the individual files
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout and setup
|
||||
|
@ -179,12 +182,10 @@ jobs:
|
|||
- name: ICU4J
|
||||
run: |
|
||||
cd icu4j;
|
||||
ant init;
|
||||
ant -Dcom.ibm.icu.impl.breakiter.useMLPhraseBreaking=true check;
|
||||
ant localespiCheck
|
||||
mvn -Dcom.ibm.icu.impl.breakiter.useMLPhraseBreaking=true install
|
||||
- name: List failures (if any)
|
||||
run: |
|
||||
[ -d icu4j/out/junit-results ] && cd icu4j && cat `find out/junit-results -name "*.txt" -exec grep -l FAILED {} \;`;
|
||||
cd icu4j && cat `find . -name surefire-reports -type d -exec grep -l -r --include="*.txt" FAILED {} \;`;
|
||||
if: ${{ failure() }}
|
||||
|
||||
# gcc debug build.
|
||||
|
|
40
.github/workflows/icu_merge_ci.yml
vendored
40
.github/workflows/icu_merge_ci.yml
vendored
|
@ -10,6 +10,12 @@ on:
|
|||
branches:
|
||||
- main
|
||||
- 'maint/maint*'
|
||||
workflow_dispatch:
|
||||
# To trigger the Env Test workflow manually, follow the instructions in
|
||||
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
|
||||
|
||||
env:
|
||||
MAVEN_ARGS: '--show-version --no-transfer-progress'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
@ -38,8 +44,8 @@ jobs:
|
|||
mkdir /tmp/icu4j_data_test;
|
||||
cp -P data/out/tmp/icudt*l* /tmp/icu4j_data_test/
|
||||
cd ../../icu4j;
|
||||
ant clean;
|
||||
ant -Dicu4c.data.path=/tmp/icu4j_data_test check;
|
||||
mvn clean;
|
||||
mvn -Dicu4c.data.path=/tmp/icu4j_data_test install
|
||||
|
||||
# Compile libraries used by all ICU4C performance tests.
|
||||
icu4c-store-perf-libs:
|
||||
|
@ -294,12 +300,11 @@ jobs:
|
|||
git restore --staged tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
git restore tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
cd icu4j;
|
||||
ant;
|
||||
ant perf-tests;
|
||||
mvn install -DskipITs -DskipTests;
|
||||
git status
|
||||
cd perf-tests;
|
||||
mkdir -p perf/results/j_unicodesetperf/${{ matrix.perf }};
|
||||
java -cp ./out/bin:../tools/misc/out/bin/:../icu4j.jar com.ibm.icu.dev.test.perf.UnicodeSetPerf ${{ matrix.perf }} -a -t 2 -p 4 [:Lt:] | tee perf/results/j_unicodesetperf/${{ matrix.perf }}/output.txt
|
||||
java -cp ../tools/misc/target/:../../icu4j/main/icu4j/target/ com.ibm.icu.dev.test.perf.UnicodeSetPerf ${{ matrix.perf }} -a -t 2 -p 4 [:Lt:] | tee perf/results/j_unicodesetperf/${{ matrix.perf }}/output.txt
|
||||
|
||||
- name: Store performance test results
|
||||
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
|
||||
|
@ -348,11 +353,10 @@ jobs:
|
|||
git restore --staged tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
git restore tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
cd icu4j;
|
||||
ant;
|
||||
ant perf-tests;
|
||||
mvn install -DskipITs -DskipTests;
|
||||
cd perf-tests;
|
||||
mkdir -p perf/results/j_ucharacterperf;
|
||||
java -cp ./out/bin:../tools/misc/out/bin/:../icu4j.jar com.ibm.icu.dev.test.perf.UCharacterPerf -a -t 2 -p 4 0 ffff | tee perf/results/j_ucharacterperf/output.txt
|
||||
java -cp ../tools/misc/target/:../../icu4j/main/icu4j/target/ com.ibm.icu.dev.test.perf.UCharacterPerf -a -t 2 -p 4 0 ffff | tee perf/results/j_ucharacterperf/output.txt
|
||||
|
||||
- name: Store performance test results
|
||||
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
|
||||
|
@ -404,15 +408,14 @@ jobs:
|
|||
git restore --staged tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
git restore tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
cd icu4j;
|
||||
ant;
|
||||
ant perf-tests;
|
||||
mvn install -DskipITs -DskipTests;
|
||||
cd perf-tests;
|
||||
mkdir -p perf/results/j_decimalformatperf/${{ matrix.locale }}/${{ matrix.perf }};
|
||||
# Delay execution by random number of seconds. Spreading execution of multiple
|
||||
# tests over 180 secs. minimizes the possibility of push conflicts when storing
|
||||
# tests results in the data branch.
|
||||
sleep $(($RANDOM % 180));
|
||||
java -cp ./out/bin:../tools/misc/out/bin/:../icu4j.jar com.ibm.icu.dev.test.perf.DecimalFormatPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -L ${{ matrix.locale }} "#,###.##" "1.234,56" -r 1 | tee perf/results/j_decimalformatperf/${{ matrix.locale }}/${{ matrix.perf }}/output.txt
|
||||
java -cp ../tools/misc/target/:../../icu4j/main/icu4j/target/ com.ibm.icu.dev.test.perf.DecimalFormatPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -L ${{ matrix.locale }} "#,###.##" "1.234,56" -r 1 | tee perf/results/j_decimalformatperf/${{ matrix.locale }}/${{ matrix.perf }}/output.txt
|
||||
|
||||
- name: Store performance test results
|
||||
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
|
||||
|
@ -467,15 +470,14 @@ jobs:
|
|||
git restore --staged tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
git restore tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
cd icu4j;
|
||||
ant;
|
||||
ant perf-tests;
|
||||
mvn install -DskipITs -DskipTests;
|
||||
cd perf-tests;
|
||||
mkdir -p perf/results/j_normperf/${{ matrix.source_text }}/${{ matrix.perf }};
|
||||
# Delay execution by random number of seconds. Spreading execution of multiple
|
||||
# tests over 180 secs. minimizes the possibility of push conflicts when storing
|
||||
# tests results in the data branch.
|
||||
sleep $(($RANDOM % 180));
|
||||
java -cp ./out/bin:../tools/misc/out/bin/:../icu4j.jar com.ibm.icu.dev.test.perf.NormalizerPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -f $DATA_FILE_PATH/${{ matrix.source_text }}.txt -e UTF-8 ${{ matrix.mode }} | tee perf/results/j_normperf/${{ matrix.source_text }}/${{ matrix.perf }}/output.txt
|
||||
java -cp ../tools/misc/target/:../../icu4j/main/icu4j/target/ com.ibm.icu.dev.test.perf.NormalizerPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -f $DATA_FILE_PATH/${{ matrix.source_text }}.txt -e UTF-8 ${{ matrix.mode }} | tee perf/results/j_normperf/${{ matrix.source_text }}/${{ matrix.perf }}/output.txt
|
||||
cat perf/results/j_normperf/${{ matrix.source_text }}/${{ matrix.perf }}/output.txt
|
||||
|
||||
- name: Store performance test results
|
||||
|
@ -598,15 +600,14 @@ jobs:
|
|||
git restore --staged tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
git restore tools/multi/proj/icu4cscan/old-xmls.tar.bz2;
|
||||
cd icu4j;
|
||||
ant;
|
||||
ant perf-tests;
|
||||
mvn install -DskipITs -DskipTests;
|
||||
cd perf-tests;
|
||||
mkdir -p perf/results/j_converterperf/${{ matrix.source_text }}/${{ matrix.test_enc }}/${{ matrix.perf }};
|
||||
# Delay execution by random number of seconds. Spreading execution of multiple
|
||||
# tests over 180 secs. minimizes the possibility of push conflicts when storing
|
||||
# tests results in the data branch.
|
||||
sleep $(($RANDOM % 180));
|
||||
java -cp ./out/bin:../tools/misc/out/bin/:../icu4j.jar:../icu4j-charset.jar com.ibm.icu.dev.test.perf.ConverterPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -f $DATA_FILE_PATH/${{ matrix.source_text }}.txt -e UTF-8 -T ${{ matrix.test_enc }} | tee perf/results/j_converterperf/${{ matrix.source_text }}/${{ matrix.test_enc }}/${{ matrix.perf }}/output.txt
|
||||
java -cp ../tools/misc/target/:../../icu4j/main/icu4j/target/:../../icu4j/main/charset/target/ com.ibm.icu.dev.test.perf.ConverterPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -f $DATA_FILE_PATH/${{ matrix.source_text }}.txt -e UTF-8 -T ${{ matrix.test_enc }} | tee perf/results/j_converterperf/${{ matrix.source_text }}/${{ matrix.test_enc }}/${{ matrix.perf }}/output.txt
|
||||
|
||||
- name: Store performance test results
|
||||
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
|
||||
|
@ -676,15 +677,14 @@ jobs:
|
|||
git restore --staged tools/multi/proj/icu4cscan/old-xmls.tar.bz2
|
||||
git restore tools/multi/proj/icu4cscan/old-xmls.tar.bz2
|
||||
cd icu4j;
|
||||
ant;
|
||||
ant perf-tests;
|
||||
mvn install -DskipITs -DskipTests;
|
||||
cd perf-tests;
|
||||
mkdir -p perf/results/j_dateformatperf/${{ matrix.locale }}/${{ matrix.perf }}/${{ env.DDIR }};
|
||||
# Delay execution by random number of seconds. Spreading execution of multiple
|
||||
# tests over 180 secs. minimizes the possibility of push conflicts when storing
|
||||
# tests results in the data branch.
|
||||
sleep $(($RANDOM % 180));
|
||||
java -cp ./out/bin:../tools/misc/out/bin/:../icu4j.jar com.ibm.icu.dev.test.perf.DateFormatPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -L ${{ matrix.locale }} ${{ env.PARM }} -r 1 | tee perf/results/j_dateformatperf/${{ matrix.locale }}/${{ matrix.perf }}/${{ env.DDIR }}/output.txt
|
||||
java -cp ../tools/misc/target/:../../icu4j/main/icu4j/target/ com.ibm.icu.dev.test.perf.DateFormatPerformanceTest ${{ matrix.perf }} -a -t 2 -p 4 -L ${{ matrix.locale }} ${{ env.PARM }} -r 1 | tee perf/results/j_dateformatperf/${{ matrix.locale }}/${{ matrix.perf }}/${{ env.DDIR }}/output.txt
|
||||
|
||||
- name: Store performance test results
|
||||
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
|
||||
|
|
6
.github/workflows/maven.yaml
vendored
6
.github/workflows/maven.yaml
vendored
|
@ -2,6 +2,12 @@ name: Publish icu4j.jar/utilities.jar to GH Maven
|
|||
on:
|
||||
release:
|
||||
types: [created]
|
||||
workflow_dispatch:
|
||||
# To trigger the Env Test workflow manually, follow the instructions in
|
||||
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
|
||||
|
||||
env:
|
||||
MAVEN_ARGS: '--show-version --no-transfer-progress'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
|
Loading…
Add table
Reference in a new issue