Skip to content

Commit 8b8dc9c

Browse files
committed
Fix GitHub release workflow, fix cache key and release upload
1 parent a45eb4d commit 8b8dc9c

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

.github/workflows/create-ubuntu-distribution-packaging.yml

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# .github/workflows/create-ubuntu-distribution-packaging.yml
2+
13
# ----------------------------------------------------------------------------------------
24
# To update ICU version:
35
# 1. Update the ICU_VERSION environment variable below.
@@ -12,7 +14,7 @@ name: Build & Package (Ubuntu)
1214
on:
1315
push:
1416
tags:
15-
- 'v*'
17+
- '*'
1618
workflow_dispatch:
1719

1820
jobs:
@@ -40,8 +42,11 @@ jobs:
4042
uses: actions/cache@v4
4143
id: cache-icu
4244
with:
43-
path: /usr/local
44-
key: icu-${{ env.ICU_VERSION }}-ubuntu-${{ runner.os }}
45+
path: /usr/local/icu-${{ env.ICU_VERSION }}
46+
key: icu-${{ env.ICU_VERSION }}-${{ runner.os }}-${{ github.run_id }}
47+
restore-keys: |
48+
icu-${{ env.ICU_VERSION }}-${{ runner.os }}-
49+
icu-${{ env.ICU_VERSION }}-
4550
4651
- name: Install ICU (Binary)
4752
if: steps.cache-icu.outputs.cache-hit != 'true'
@@ -50,7 +55,8 @@ jobs:
5055
wget https://github.com/unicode-org/icu/releases/download/release-${ICU_VERSION//_/-}/icu4c-${ICU_VERSION}-Ubuntu22.04-x64.tgz
5156
mkdir icu-install
5257
tar -xzf icu4c-${ICU_VERSION}-Ubuntu22.04-x64.tgz -C icu-install
53-
sudo cp -r icu-install/icu/usr/local/* /usr/local/
58+
sudo mkdir -p /usr/local/icu-${ICU_VERSION}
59+
sudo cp -r icu-install/icu/usr/local/* /usr/local/icu-${ICU_VERSION}/
5460
sudo ldconfig
5561
5662
- name: Setup ICU (from cache)
@@ -60,14 +66,15 @@ jobs:
6066
6167
- name: Configure & Build
6268
run: |
63-
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
64-
export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH
69+
export PKG_CONFIG_PATH=/usr/local/icu-${ICU_VERSION}/lib/pkgconfig:$PKG_CONFIG_PATH
70+
export CPLUS_INCLUDE_PATH=/usr/local/icu-${ICU_VERSION}/include:$CPLUS_INCLUDE_PATH
71+
export LD_LIBRARY_PATH=/usr/local/icu-${ICU_VERSION}/lib:$LD_LIBRARY_PATH
6572
mkdir -p inflection/build
6673
cd inflection/build
6774
CC=clang CXX=clang++ cmake .. \
6875
-DCMAKE_BUILD_TYPE=Release \
69-
-DICU_ROOT=/usr/local \
70-
-DCMAKE_PREFIX_PATH=/usr/local
76+
-DICU_ROOT=/usr/local/icu-${ICU_VERSION} \
77+
-DCMAKE_PREFIX_PATH=/usr/local/icu-${ICU_VERSION}
7178
make -j$(nproc)
7279
7380
- name: Run tests

inflection/CMakeLists.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,19 +131,24 @@ install(TARGETS inflection LIBRARY COMPONENT inflection_
131131
install(DIRECTORY ${INFLECTION_INCLUDE_ROOT}/ TYPE INCLUDE COMPONENT inflection_headers)
132132
install(DIRECTORY ${INFLECTION_DATA_ROOT}/ TYPE DATA COMPONENT inflection_data)
133133

134-
135-
134+
# ----------------------------------------------------------------------------------------
136135
# CPack Configuration for Ubuntu Packaging
136+
#
137+
# To update ICU version:
138+
# 1. Update ICU_VERSION in the GitHub Actions workflow (.github/workflows/create-ubuntu-distribution-packaging.yml)
139+
# 2. Make sure the downloaded ICU binary file matches the filename format
140+
# (e.g., icu4c-78_1-Ubuntu22.04-x64.tgz)
141+
# 3. Update the line below to match the correct ICU dependency in Debian packaging
142+
# ----------------------------------------------------------------------------------------
137143

138144
set(CPACK_PACKAGE_NAME "unicode-inflection")
139145

140146
# Apply the current tagged Inflection version to the CPack version.
141147
# CPack may inherit a default or cached version, so we explicitly set it here.
142148
set(CPACK_PACKAGE_VERSION "${INFLECTION_VERSION}")
143149

150+
# Extract version components
144151
string(REPLACE "." ";" INFLECTION_VERSION_LIST "${INFLECTION_VERSION}")
145-
146-
# Set defaults to avoid list index errors
147152
set(CPACK_PACKAGE_VERSION_MAJOR "0")
148153
set(CPACK_PACKAGE_VERSION_MINOR "0")
149154
set(CPACK_PACKAGE_VERSION_PATCH "0")
@@ -159,6 +164,7 @@ if(_len GREATER 2)
159164
list(GET INFLECTION_VERSION_LIST 2 CPACK_PACKAGE_VERSION_PATCH)
160165
endif()
161166

167+
# Basic package metadata
162168
set(CPACK_PACKAGE_VENDOR "Unicode Consortium")
163169
set(CPACK_PACKAGE_CONTACT "https://github.com/unicode-org/inflection")
164170
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unicode Inflection Library")
@@ -171,7 +177,7 @@ set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
171177
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
172178
set(CPACK_DEBIAN_PACKAGE_VERSION "${INFLECTION_VERSION}")
173179

174-
# Source package
180+
# Source package config
175181
set(CPACK_SOURCE_GENERATOR "TGZ")
176182
set(CPACK_SOURCE_IGNORE_FILES "/build/;/.git/;/.vscode/;/.idea/")
177183
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${INFLECTION_VERSION}")

0 commit comments

Comments
 (0)