Skip to content

Build ICU4C on Fedora Linux #23

Build ICU4C on Fedora Linux

Build ICU4C on Fedora Linux #23

name: Build ICU4C on Fedora Linux
on:
workflow_dispatch:
inputs:
foo:
description: 'Something, whatever'
type: string
jobs:
build:
runs-on: ubuntu-latest
container:
image: ghcr.io/${{ github.repository_owner }}/fedora-docker-gcr:latest
credentials:
username: ${{ secrets.DOCKER_CONTAINER_USER_NAME }}
password: ${{ secrets.DOCKER_CONTAINER_REGISTRY_TOKEN }}
permissions:
contents: read
steps:
- name: Checkout and setup
uses: actions/checkout@v4
with:
lfs: true
- name: Inspect, to delete
run: |
echo $PWD
ls -al
set
# Get the Fedora version in VERSION_ID
source /etc/os-release
# Get the ICU version in artifact_version
source icu4j/releases_tools/shared.sh
- name: Build release ICU4C
run: |
pushd icu4c/source
./runConfigureICU Linux/gcc
make DESTDIR=/tmp/icu releaseDist
popd
echo "==== Before source ===="
set
# Get the Fedora version in VERSION_ID
source /etc/os-release
# Get the ICU version in artifact_version
source icu4j/releases_tools/shared.sh
echo "==== After source ===="
set
echo "======================"
# Note that here we package the `icu` folder in `/tmp`, from the previous step,
# because `-C /tmp` changes the folder
echo "==== Do it in the default folder ===="
echo $PWD
echo GITHUB_WORKSPACE is $GITHUB_WORKSPACE
echo MAYBE tar -C /tmp -czf $GITHUB_WORKSPACE/icu4c-${artifact_version}-Fedora_Linux${VERSION_ID}-x64.tgz icu
tar -C /tmp -czf $GITHUB_WORKSPACE/icu4c-${artifact_version}-Fedora_Linux${VERSION_ID}-x64.tgz icu
ls
# Now do it in tmp
echo "==== Now do it in tmp ===="
cd /tmp
echo $PWD
ls
echo DOING tar -czf icu4c-${artifact_version}-Fedora_Linux${VERSION_ID}-x64.tgz icu
tar -czf icu4c-${artifact_version}-Fedora_Linux${VERSION_ID}-x64.tgz icu
echo $PWD
ls -ali
# TODO: add them to the GitHub "Release" page automatically
- name: Upload build results
uses: actions/[email protected]
with:
name: fedora-binaries
path: /tmp/icu4c-*.tgz
retention-days: 3 # TBD if we want to keep them longer
overwrite: true