-
-
Notifications
You must be signed in to change notification settings - Fork 16
Create distribution packages for ubuntu (.deb release v0.0.1) #129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
||
set(CPACK_PACKAGE_NAME "unicode-inflection") | ||
set(CPACK_PACKAGE_VENDOR "Unicode Consortium") | ||
set(CPACK_PACKAGE_CONTACT "[email protected]") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to find another contact. I'm not sure that I'm ready to have my email address here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that a mandatory field? If we have to have it, we can use the [email protected] one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’d prefer just listing the official GitHub project. The discussion page can be used for communication.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree.
|
||
# DEB-specific options | ||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Unicode Consortium <[email protected]>") | ||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libicu-dev (>= 77.1)") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dev part is only needed for building. The non-dev dependency is needed for runtime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good in general with some comments.
- 'v*' | ||
workflow_dispatch: | ||
pull_request: | ||
branches: [ main, master ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need the master part. It's obsolete and our repo doesn't have it.
with: | ||
lfs: true | ||
|
||
- name: Setup Git LFS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can land it as is for now, but fix it after Frank lands 128 (LFS caching).
sudo apt update | ||
sudo apt install -y cmake build-essential clang pkg-config | ||
|
||
- name: Install ICU 77.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ICU caching already landed - we can use it here to save bandwidth.
|
||
set(CPACK_PACKAGE_NAME "unicode-inflection") | ||
set(CPACK_PACKAGE_VENDOR "Unicode Consortium") | ||
set(CPACK_PACKAGE_CONTACT "[email protected]") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that a mandatory field? If we have to have it, we can use the [email protected] one.
- name: Install ICU 77.1 | ||
run: | | ||
cd /tmp | ||
wget https://github.com/unicode-org/icu/releases/download/release-77-1/icu4c-77_1-src.tgz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we download and compile sources? Why not just download and install binary release for Ubuntu? It takes time to compile ICU.
One needs to only copy the $download_location/usr tree to /usr/local/ folder
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See https://github.com/unicode-org/inflection/pull/128/files for example on how to do it.
This PR introduces a workflow for building and packaging the Unicode Inflection library on Ubuntu using CPack. It generates .deb and .tar.gz artifacts and uploads them via GitHub Actions on tag push. ICU 77.1 is built from source as a prerequisite.
Key Changes
Added CPack configuration in CMakeLists.txt to generate:
Added GitHub Actions workflow:
Workflow File:
.github/workflows/create-ubuntu-distribution-package.yml
Release Target:
Ubuntu .deb package only for now