11# ----------------------------------------------------------------------------------------
22# To update ICU version:
3- # 1. Update the ICU_VERSION environment variable below.
3+ # 1. Update the ICU_ICU_MAJOR and ICU_MINOR environment variable below.
44# 2. Check the ICU binary URL — is the filename still Ubuntu22.04-x64.tgz?
55# (e.g., icu4c-78_1-Ubuntu22.04-x64.tgz)
66# 3. Update inflection/CMakeLists.txt:
1919 build-and-package :
2020 runs-on : ubuntu-latest
2121 env :
22- ICU_VERSION : 77_1
23-
22+ ICU_MAJOR : ' 77 '
23+ ICU_MINOR : ' 1 '
2424 steps :
2525 - name : Checkout
2626 uses : actions/checkout@v4
@@ -41,21 +41,21 @@ jobs:
4141 uses : actions/cache@v4
4242 id : cache-icu
4343 with :
44- path : /usr/local/icu-${{ env.ICU_VERSION }}
45- key : icu-${{ env.ICU_VERSION }}-${{ runner.os }}
44+ path : /usr/local/icu-${{ env.ICU_MAJOR }}_${{ env.ICU_MINOR }}
45+ key : icu-${{ env.ICU_MAJOR }}_${{ env.ICU_MINOR }}-${{ runner.os }}
4646 restore-keys : |
47- icu-${{ env.ICU_VERSION }}-
47+ icu-${{ env.ICU_MAJOR }}_${{ env.ICU_MINOR }}-
4848 icu-
4949
5050 - name : Install ICU (Binary)
5151 if : steps.cache-icu.outputs.cache-hit != 'true'
5252 run : |
5353 cd /tmp
54- wget https://github.com/unicode-org/icu/releases/download/release-${ICU_VERSION//_/- }/icu4c-${ICU_VERSION }-Ubuntu22.04-x64.tgz
54+ wget https://github.com/unicode-org/icu/releases/download/release-${ICU_MAJOR}-${ICU_MINOR }/icu4c-${ICU_MAJOR}_${ICU_MINOR }-Ubuntu22.04-x64.tgz
5555 mkdir icu-install
56- tar -xzf icu4c-${ICU_VERSION }-Ubuntu22.04-x64.tgz -C icu-install
57- sudo mkdir -p /usr/local/icu-${ICU_VERSION }
58- sudo cp -r icu-install/icu/usr/local/* /usr/local/icu-${ICU_VERSION }/
56+ tar -xzf icu4c-${ICU_MAJOR}_${ICU_MINOR }-Ubuntu22.04-x64.tgz -C icu-install
57+ sudo mkdir -p /usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }
58+ sudo cp -r icu-install/icu/usr/local/* /usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/
5959 sudo ldconfig
6060
6161 - name : Setup ICU (from cache)
@@ -65,22 +65,22 @@ jobs:
6565
6666 - name : Configure & Build
6767 run : |
68- export PKG_CONFIG_PATH=/usr/local/icu-${ICU_VERSION }/lib/pkgconfig:$PKG_CONFIG_PATH
69- export CPLUS_INCLUDE_PATH=/usr/local/icu-${ICU_VERSION }/include:$CPLUS_INCLUDE_PATH
70- export LD_LIBRARY_PATH=/usr/local/icu-${ICU_VERSION }/lib:$LD_LIBRARY_PATH
68+ export PKG_CONFIG_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/lib/pkgconfig:$PKG_CONFIG_PATH
69+ export CPLUS_INCLUDE_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/include:$CPLUS_INCLUDE_PATH
70+ export LD_LIBRARY_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/lib:$LD_LIBRARY_PATH
7171 mkdir -p inflection/build
7272 cd inflection/build
7373 CC=clang CXX=clang++ cmake .. \
7474 -DCMAKE_BUILD_TYPE=Release \
75- -DICU_ROOT=/usr/local/icu-${ICU_VERSION } \
76- -DCMAKE_PREFIX_PATH=/usr/local/icu-${ICU_VERSION }
75+ -DICU_ROOT=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR } \
76+ -DCMAKE_PREFIX_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }
7777 make -j$(nproc)
7878
7979 - name : Run tests
8080 run : |
81- export PKG_CONFIG_PATH=/usr/local/icu-${ICU_VERSION }/lib/pkgconfig:$PKG_CONFIG_PATH
82- export CPLUS_INCLUDE_PATH=/usr/local/icu-${ICU_VERSION }/include:$CPLUS_INCLUDE_PATH
83- export LD_LIBRARY_PATH=/usr/local/icu-${ICU_VERSION }/lib:$LD_LIBRARY_PATH
81+ export PKG_CONFIG_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/lib/pkgconfig:$PKG_CONFIG_PATH
82+ export CPLUS_INCLUDE_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/include:$CPLUS_INCLUDE_PATH
83+ export LD_LIBRARY_PATH=/usr/local/icu-${ICU_MAJOR}_${ICU_MINOR }/lib:$LD_LIBRARY_PATH
8484 cd inflection/build
8585 make -j$(nproc) check
8686
0 commit comments