@@ -12,14 +12,15 @@ name: Build & Package (Ubuntu)
1212on :
1313 push :
1414 tags :
15- - ' v *'
15+ - ' *'
1616 workflow_dispatch :
1717
1818jobs :
1919 build-and-package :
2020 runs-on : ubuntu-latest
2121 env :
2222 ICU_VERSION : 77_1
23+
2324 steps :
2425 - name : Checkout
2526 uses : actions/checkout@v4
4041 uses : actions/cache@v4
4142 id : cache-icu
4243 with :
43- path : /usr/local
44- key : icu-${{ env.ICU_VERSION }}-ubuntu-${{ runner.os }}
44+ path : /usr/local/icu-${{ env.ICU_VERSION }}
45+ key : icu-${{ env.ICU_VERSION }}-${{ runner.os }}
46+ restore-keys : |
47+ icu-${{ env.ICU_VERSION }}-
48+ icu-
4549
4650 - name : Install ICU (Binary)
4751 if : steps.cache-icu.outputs.cache-hit != 'true'
5054 wget https://github.com/unicode-org/icu/releases/download/release-${ICU_VERSION//_/-}/icu4c-${ICU_VERSION}-Ubuntu22.04-x64.tgz
5155 mkdir icu-install
5256 tar -xzf icu4c-${ICU_VERSION}-Ubuntu22.04-x64.tgz -C icu-install
53- sudo cp -r icu-install/icu/usr/local/* /usr/local/
57+ sudo mkdir -p /usr/local/icu-${ICU_VERSION}
58+ sudo cp -r icu-install/icu/usr/local/* /usr/local/icu-${ICU_VERSION}/
5459 sudo ldconfig
5560
5661 - name : Setup ICU (from cache)
@@ -60,18 +65,22 @@ jobs:
6065
6166 - name : Configure & Build
6267 run : |
63- export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
64- export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH
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
6571 mkdir -p inflection/build
6672 cd inflection/build
6773 CC=clang CXX=clang++ cmake .. \
6874 -DCMAKE_BUILD_TYPE=Release \
69- -DICU_ROOT=/usr/local \
70- -DCMAKE_PREFIX_PATH=/usr/local
75+ -DICU_ROOT=/usr/local/icu-${ICU_VERSION} \
76+ -DCMAKE_PREFIX_PATH=/usr/local/icu-${ICU_VERSION}
7177 make -j$(nproc)
7278
7379 - name : Run tests
7480 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
7584 cd inflection/build
7685 make -j$(nproc) check
7786
@@ -100,3 +109,4 @@ jobs:
100109 inflection/build/*.tar.gz
101110 env :
102111 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
112+
0 commit comments