ICU-22354 Update actions and platforms in GitHub Actions workflows

This commit is contained in:
Mohammed Keyvanzadeh 2023-04-14 18:15:34 +03:30 committed by Frank Yung-Fong Tang
parent 4a255c4301
commit b575f7c8f5
7 changed files with 89 additions and 78 deletions

View file

@ -35,7 +35,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
@ -48,4 +48,4 @@ jobs:
- name: Run Maven unit & integration tests
run: |
cd icu4j/maven-build;
mvn --batch-mode verify
mvn --batch-mode verify

View file

@ -22,7 +22,7 @@ jobs:
icu4c-docs-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C doc
run: |
@ -42,7 +42,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
@ -80,7 +80,7 @@ jobs:
java-version: [ '8', '11', '17' ]
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
@ -105,7 +105,7 @@ jobs:
java-version: [ '8', '11', '17' ]
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
@ -128,7 +128,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
@ -160,7 +160,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
@ -199,7 +199,7 @@ jobs:
gcc-debug-build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with gcc
env:
@ -222,7 +222,7 @@ jobs:
clang-release-build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install doxygen
run: |
@ -280,7 +280,7 @@ jobs:
gcc-10-stdlib14:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with gcc 10 and c++14 and extra warnings.
env:
@ -301,7 +301,7 @@ jobs:
clang-asan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with clang and asan
run: |
@ -315,7 +315,7 @@ jobs:
clang-ubsan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with clang and ubsan +alignment
run: |
@ -330,7 +330,7 @@ jobs:
clang-cfi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with clang using CFI
run: |
@ -349,7 +349,7 @@ jobs:
clang-tsan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with clang and tsan
run: |
@ -367,7 +367,7 @@ jobs:
macos-clang:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C with clang on MacOS
run: |
@ -379,7 +379,7 @@ jobs:
run-with-stubdata:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C tests with stubdata
run: |
@ -422,7 +422,7 @@ jobs:
u-charset-is-utf8-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: |
cd icu4c/source;
./runConfigureICU Linux CPPFLAGS="-DU_CHARSET_IS_UTF8=1";
@ -432,7 +432,7 @@ jobs:
u-override-cxx-allocation-is-0-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: |
cd icu4c/source;
./runConfigureICU Linux CPPFLAGS="-DU_OVERRIDE_CXX_ALLOCATION=0";
@ -443,7 +443,7 @@ jobs:
lstm-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: |
cd icu4c/source;
ICU_DATA_FILTER_FILE=../../.github/lstm_for_th_my.json ./runConfigureICU --enable-debug --disable-release Linux -disable-layoutex;
@ -454,7 +454,7 @@ jobs:
adaboost-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: |
cd icu4c/source;
ICU_DATA_FILTER_FILE=../../.github/adaboost.json CPPFLAGS=-DUCONFIG_USE_ML_PHRASE_BREAKING=1 ./runConfigureICU --enable-debug --disable-release Linux -disable-layoutex;
@ -465,7 +465,7 @@ jobs:
testmap:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: |
cd icu4c/source;
./runConfigureICU Linux;
@ -478,28 +478,28 @@ jobs:
copyright-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: perl tools/scripts/cpysearch/cpyscan.pl
# Check compilation of internal headers.
internal-header-compilation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: cd icu4c/source; test/hdrtst/testinternalheaders.sh
# Check source files for valid UTF-8 and for absence of BOM.
valid-UTF-8-and-no-BOM-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: tools/scripts/icu-file-utf8-check.py
# Verify icu4c release tools buildability.
icu4c-release-tools:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: mvn -f tools/release/java/pom.xml package dependency:analyze
# Run unit tests with UCONFIG_NO_XXX variations.
@ -527,7 +527,7 @@ jobs:
- "-DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_NORMALIZATION=1 -DUCONFIG_NO_BREAK_ITERATION=1 -DUCONFIG_NO_IDNA=1 -DUCONFIG_NO_COLLATION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1 -DUCONFIG_NO_SERVICN=1 -DUCONFIG_NO_FILTERED_BREAK_ITERATION=1"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Verify no additional new UCONFIG_NO_xxx added
run: |
# Test that we have exactly 12 "#ifndef UCONFIG_NO_" in uconfig.h. If the number changes, we need to also
@ -573,7 +573,7 @@ jobs:
- "-DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_NORMALIZATION=1 -DUCONFIG_NO_BREAK_ITERATION=1 -DUCONFIG_NO_IDNA=1 -DUCONFIG_NO_COLLATION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REGULAR_EXPRESSIONS=1 -DUCONFIG_NO_SERVICN=1 -DUCONFIG_NO_FILTERED_BREAK_ITERATION=1"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Verify no additional new UCONFIG_NO_xxx added
run: |
# Test that we have exactly 12 "#ifndef UCONFIG_NO_" in uconfig.h. If the number changes, we need to also
@ -602,14 +602,14 @@ jobs:
unicode-update-tools:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: bazelbuild/setup-bazelisk@v1
- uses: actions/checkout@v3
- uses: bazelbuild/setup-bazelisk@v2
- name: Get CI Linux runner VM version
id: linux-version
run: |
echo "LINUX_VERSION=$(grep -F VERSION_ID /etc/os-release | cut -d'"' -f2)" >> $GITHUB_OUTPUT
- name: Mount bazel cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: "~/.cache/bazel"
key: bazel-${{ runner.os }}-${{ steps.linux-version.outputs.LINUX_VERSION }}
@ -641,7 +641,7 @@ jobs:
icu4c-test-samples:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: ICU4C configure and build
run: |
@ -666,7 +666,7 @@ jobs:
icu4c-without-collation-rule-strings:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install hjson dependency
run: |
sudo apt-get install python3-pip
@ -706,7 +706,7 @@ jobs:
icu4c-uconfig-no-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Set UCONFIG_NO_CONVERSION and configure ICU4C
env:
UCONFIG_NO_CONVERSION: 1

View file

@ -43,7 +43,7 @@ jobs:
run: |
locale -a;
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Build
run: |
cd icu4c/source/;
@ -102,7 +102,7 @@ jobs:
find /usr/share/zoneinfo/ -type f,l|egrep -v "/(right|posix)/"|egrep -v "\.tab"|wc -l;
find /usr/share/zoneinfo/ -type f,l|egrep -v "/(right|posix)/"|egrep -v "\.tab"|cut -d '/' -f5-50;
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Build
run: |
cd icu4c/source/;

View file

@ -21,13 +21,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
- name: ICU4J little-endian
run: |
@ -46,7 +47,7 @@ jobs:
if: github.repository == 'unicode-org/icu' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Build ICU libraries
run: |
@ -56,7 +57,7 @@ jobs:
cd lib;
cp -Ps ../tools/ctestfw/libicutest* .
- name: Upload ICU libraries
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: icu-perf-libs
path: icu4c/source/lib
@ -87,11 +88,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Create directory for lib files
run: mkdir icu4c/source/perflib
- name: Get ICU libs
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: icu-perf-libs
path: icu4c/source/lib
@ -104,7 +105,7 @@ jobs:
LD_LIBRARY_PATH=lib ./test/perf/${{ matrix.perf }}/${{ matrix.perf }} ${{ matrix.flag }} -t 5 -p 10 ${{ matrix.file }} ${{ matrix.tests }} | tee test/perf/results/${{ matrix.perf }}/output.txt
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -161,11 +162,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Create directory for lib files
run: mkdir icu4c/source/perflib
- name: Get ICU libs
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: icu-perf-libs
path: icu4c/source/lib
@ -180,7 +181,7 @@ jobs:
LD_LIBRARY_PATH=lib ./test/perf/${{ matrix.perf }}/${{ matrix.perf }} ${{ matrix.flag }} -t 5 -p 10 -f $DATA_FILE_PATH/${{ matrix.data }}.txt ${{ matrix.tests }} | tee test/perf/results/${{ matrix.perf }}/${{ matrix.data }}/output.txt
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -226,11 +227,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Create directory for lib files
run: mkdir icu4c/source/perflib
- name: Get ICU libs
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
name: icu-perf-libs
path: icu4c/source/lib
@ -245,7 +246,7 @@ jobs:
LD_LIBRARY_PATH=lib ./test/perf/strsrchperf/strsrchperf -b Test_ICU_Forward_Search Test_ICU_Backward_Search -t 5 -p 10 -L ${{ matrix.locale }} -f $DATA_FILE_PATH/${{ matrix.data }}.txt | tee test/perf/results/strsrchperf/${{ matrix.locale }}/output.txt
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -275,13 +276,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Build and run unicodesetperf test
@ -300,7 +302,7 @@ jobs:
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
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -328,13 +330,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Build and run ucharacterperf test
@ -352,7 +355,7 @@ jobs:
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
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -383,13 +386,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Build and run decimalformatperf
@ -411,7 +415,7 @@ jobs:
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
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -443,13 +447,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Build and run normperf
@ -474,7 +479,7 @@ jobs:
cat perf/results/j_normperf/${{ matrix.source_text }}/${{ matrix.perf }}/output.txt
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -573,13 +578,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Build and run converterperf
@ -603,7 +609,7 @@ jobs:
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
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -647,13 +653,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout and setup
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout lfs objects
run: git lfs pull
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Extract identifying digit and parameter.
@ -680,7 +687,7 @@ jobs:
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
- name: Store performance test results
uses: gregtatum/github-action-benchmark@d3f06f738e9612988d575db23fae5ca0008d3d12
uses: benchmark-action/github-action-benchmark@v1
with:
# The perf tests result data is in ndjson format.
tool: 'ndjson'
@ -702,7 +709,7 @@ jobs:
needs: [icu4c-performance-tests, icu4c-performance-tests-with-files, icu4c-strsrchperf, icu4j-unicodesetperf, icu4j-ucharacterperf, icu4j-decimalformatperf, icu4j-normperf, icu4j-converterperf, icu4j-dateformatperf]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Switch to benchmark data storage branch.
run: |
@ -717,4 +724,3 @@ jobs:
publish_branch: main
publish_dir: ./perf
keep_files: true

View file

@ -19,7 +19,7 @@ permissions:
jobs:
clang-valgrind-test:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Install valgrind
run: |
@ -27,11 +27,13 @@ jobs:
sudo apt-get -y update;
sudo apt-get install -y valgrind;
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Build with debug enable
env:
CC: clang
CFLAGS: -gdwarf-4
CXX: clang++
CXXFLAGS: -gdwarf-4
run: |
cd icu4c/source;
./runConfigureICU --enable-debug Linux --disable-renaming && make -j -l2.5 tests;
@ -55,7 +57,7 @@ jobs:
--show-reachable=yes ./icuinfo;
clang-valgrind-intltest:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
strategy:
# "fail-fast: false" lets other jobs keep running even if the test breaks in some other test.
fail-fast: false
@ -70,11 +72,13 @@ jobs:
sudo apt-get -y update;
sudo apt-get install -y valgrind;
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Build with debug enable
env:
CC: clang
CFLAGS: -gdwarf-4
CXX: clang++
CXXFLAGS: -gdwarf-4
run: |
cd icu4c/source;
./runConfigureICU --enable-debug Linux --disable-renaming && make -j -l2.5 tests;

View file

@ -75,4 +75,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
uses: actions/deploy-pages@v2

View file

@ -10,12 +10,13 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
lfs: true
- uses: actions/setup-java@v1
- uses: actions/setup-java@v3
with:
java-version: 1.8
distribution: 'temurin'
java-version: '11'
- name: icu4j ant releaseCLDR
run: ant -noinput releaseCLDR -f icu4j/build.xml
- name: deploy it
@ -41,4 +42,4 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Note: can use 0.0.0-${GITHUB_SHA} as the version for hash-based.
# i.e. build on every commit
# i.e. build on every commit