Skip to content

Commit

Permalink
ICU-22606 Create full release from CI - update icu4c
Browse files Browse the repository at this point in the history
  • Loading branch information
mihnita committed Sep 30, 2024
1 parent 0bb0b8e commit ae7159d
Showing 1 changed file with 31 additions and 11 deletions.
42 changes: 31 additions & 11 deletions .github/workflows/icu4c.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ on:
workflow_dispatch:
# To trigger the Env Test workflow manually, follow the instructions in
# https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow
inputs:
gitReleaseTag:
description: 'Release tag to upload to. Must start with "release-"'
type: string

# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel
# runs on previous commits mid-flight when new commits are pushed.
Expand All @@ -48,7 +52,7 @@ jobs:
cd icu4c/source;
./runConfigureICU Linux --disable-renaming;
# Fail if 'warning:' appears in doxygen's output, but ignore warnings from file Doxyfile.
# Regex note: (?! ... ) is a negative lookahead. Succeed if the pattern is not present.
# Regex note: (?! ... ) is a negative lookahead. Succeed if the pattern is not present.
set +o pipefail && make doc 2>&1 | tee doxygen.log && ( ! grep -P 'warning:(?! .* file .?Doxyfile)' doxygen.log )
# gcc debug build.
Expand Down Expand Up @@ -316,13 +320,13 @@ jobs:
run: |
cd icu4c/source && ./runConfigureICU --enable-debug --disable-release Linux/clang && make -j -l4.5 check
# Clang Linux 18 with CPP20 and treat warnings as errors
# Clang Linux 18 with CPP20 and treat warnings as errors
clang18-cpp20-warning-as-errors:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
flags:
flags:
- '-std=c++20'
- '-std=c++20 -stdlib=libc++'
steps:
Expand Down Expand Up @@ -360,7 +364,7 @@ jobs:
strategy:
fail-fast: false
matrix:
include:
include:
- test_flags: 'x64 Debug'
build_flags: '/p:Configuration=Debug /p:Platform=x64'
- test_flags: 'x86 Debug'
Expand Down Expand Up @@ -405,11 +409,13 @@ jobs:
# Windows MSVC distribution release
windows-msvc-dist-release:
runs-on: windows-latest
permissions:
contents: write # So that we can upload to release
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
include:
- arch: 'x64'
plat: 'x64'
win_ver: 'Win64'
Expand Down Expand Up @@ -465,6 +471,12 @@ jobs:
with:
name: icu4c.${{ matrix.win_ver }}.run_#${{ github.run_number }}
path: icu4c/source/dist/${{ env.newZipName }}.zip
- name: Upload to release
if: ${{ inputs.gitReleaseTag && startsWith(inputs.gitReleaseTag, 'release-') }}
run: |
gh release upload ${{ inputs.gitReleaseTag }} icu4c/source/dist/${{ env.newZipName }}.zip --clobber
env:
GH_TOKEN: ${{ github.token }}

# Window MSYS2 tests
windows-msys2-gcc-x86_64:
Expand All @@ -481,9 +493,9 @@ jobs:
with:
update: true
msystem: mingw64
install: >
base-devel
mingw-w64-x86_64-toolchain
install: >
base-devel
mingw-w64-x86_64-toolchain
make
- name: 'Verify MinGW Installation'
run: gcc --version
Expand Down Expand Up @@ -824,7 +836,7 @@ jobs:
run: |
cd icu4c/source
make -j -l4.5 check
# https://unicode-org.github.io/icu/processes/release/tasks/healthy-code.html#test-uconfig_no_conversion
icu4c-uconfig-no-conversion:
runs-on: ubuntu-latest
Expand All @@ -848,6 +860,8 @@ jobs:
# Workflow for ICU Export Data for ICU4X
icu4c-icuexportdata:
runs-on: ubuntu-latest
permissions:
contents: write # So that we can upload to release
timeout-minutes: 30
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
Expand Down Expand Up @@ -910,9 +924,15 @@ jobs:
- name: Zip
run: |
cd icu4c/source/icuexportdata
zip -r ../../../icuexportdata_tag-goes-here.zip .
zip -r ../../../icuexportdata_${{ inputs.gitReleaseTag }}.zip .
- name: Publish Artifact
uses: actions/upload-artifact@v4
with:
name: icuexportdata_output
path: icuexportdata_tag-goes-here.zip
path: icuexportdata_*.zip
- name: Upload to release
if: ${{ inputs.gitReleaseTag && startsWith(inputs.gitReleaseTag, 'release-') }}
run: |
gh release upload ${{ inputs.gitReleaseTag }} icuexportdata_*.zip --clobber
env:
GH_TOKEN: ${{ github.token }}

0 comments on commit ae7159d

Please sign in to comment.