Skip to content

Commit f681aa0

Browse files
authored
Fix artifact building workflows (#956)
* Remove ios arm target * install nightly * fix build libs * Fix name * fix pub get location * Add mac toolchain src * adapt windows * fixes * use pushd * Add windows toolchain * Bump version * Small fixes
1 parent 2644c17 commit f681aa0

File tree

6 files changed

+243
-40
lines changed

6 files changed

+243
-40
lines changed

.github/workflows/intl4x_artifacts.yml

+38-37
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
branches: [ main ]
99
paths:
1010
- pkgs/intl4x/src/hook_helpers/hashes.dart
11+
- .github/workflows/intl4x_artifacts.yml
1112
push:
1213
tags:
1314
- 'intl4x-icu*'
@@ -35,6 +36,7 @@ jobs:
3536
- name: Install Rust toolchains
3637
run: |
3738
rustup toolchain install stable
39+
rustup toolchain install nightly
3840
3941
- name: Show the selected Rust toolchain
4042
run: rustup show
@@ -61,25 +63,25 @@ jobs:
6163
- name: Build Linux
6264
if: matrix.os == 'ubuntu-latest'
6365
run: |
64-
cd submodules/icu4x
65-
66-
mkdir bin
67-
68-
cd ffi/dart
69-
dart pub get
70-
cd ../..
71-
dart run ffi/dart/tool/build_libs.dart --file bin/android_arm_${{ matrix.compiletype }} --os android --architecture arm --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
72-
dart run ffi/dart/tool/build_libs.dart --file bin/android_arm64_${{ matrix.compiletype }} --os android --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
73-
dart run ffi/dart/tool/build_libs.dart --file bin/android_ia32_${{ matrix.compiletype }} --os android --architecture ia32 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
74-
dart run ffi/dart/tool/build_libs.dart --file bin/android_x64_${{ matrix.compiletype }} --os android --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
75-
dart run ffi/dart/tool/build_libs.dart --file bin/linux_arm_${{ matrix.compiletype }} --os linux --architecture arm --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
76-
dart run ffi/dart/tool/build_libs.dart --file bin/linux_arm64_${{ matrix.compiletype }} --os linux --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
77-
dart run ffi/dart/tool/build_libs.dart --file bin/linux_riscv64_${{ matrix.compiletype }} --os linux --architecture riscv64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
78-
dart run ffi/dart/tool/build_libs.dart --file bin/linux_x64_${{ matrix.compiletype }} --os linux --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
66+
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
67+
(cd pkgs/intl4x && dart pub get)
68+
69+
mkdir submodules/icu4x/bin
70+
71+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/android_arm_${{ matrix.compiletype }} --os android --architecture arm --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
72+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/android_arm64_${{ matrix.compiletype }} --os android --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
73+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/android_ia32_${{ matrix.compiletype }} --os android --architecture ia32 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
74+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/android_x64_${{ matrix.compiletype }} --os android --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
75+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/linux_arm_${{ matrix.compiletype }} --os linux --architecture arm --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
76+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/linux_arm64_${{ matrix.compiletype }} --os linux --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
77+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/linux_riscv64_${{ matrix.compiletype }} --os linux --architecture riscv64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
78+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/linux_x64_${{ matrix.compiletype }} --os linux --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
7979
8080
- name: Build Linux data
8181
if: matrix.os == 'ubuntu-latest' && matrix.compiletype == 'static'
8282
run: |
83+
cd submodules/icu4x
84+
8385
cargo run -p icu_datagen -- --locales full --keys all --format blob --out bin/full.postcard
8486
8587
cd provider/datagen # avoid global feature resolution
@@ -98,23 +100,21 @@ jobs:
98100
- name: Build Mac
99101
if: matrix.os == 'macos-latest'
100102
run: |
101-
cd submodules/icu4x
102-
103-
mkdir bin
103+
rustup component add rust-src --toolchain nightly-aarch64-apple-darwin
104+
105+
(cd pkgs/intl4x && dart pub get)
104106
105-
cd ffi/dart
106-
dart pub get
107-
cd ../..
108-
dart run ffi/dart/tool/build_libs.dart --file bin/ios_arm_${{ matrix.compiletype }} --os ios --architecture arm --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
109-
dart run ffi/dart/tool/build_libs.dart --file bin/ios_arm64_${{ matrix.compiletype }} --os ios --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
110-
dart run ffi/dart/tool/build_libs.dart --file bin/ios_x64_${{ matrix.compiletype }} --os ios --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
111-
dart run ffi/dart/tool/build_libs.dart --file bin/macos_arm64_${{ matrix.compiletype }} --os macos --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
112-
dart run ffi/dart/tool/build_libs.dart --file bin/macos_x64_${{ matrix.compiletype }} --os macos --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
107+
mkdir submodules/icu4x/bin
108+
109+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/ios_arm64_${{ matrix.compiletype }} --os ios --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
110+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/ios_x64_${{ matrix.compiletype }} --os ios --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
111+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/macos_arm64_${{ matrix.compiletype }} --os macos --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
112+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/macos_x64_${{ matrix.compiletype }} --os macos --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
113113
114114
- name: Build Mac data
115115
if: matrix.os == 'macos-latest' && matrix.compiletype == 'static'
116116
run: |
117-
cd provider/datagen # avoid global feature resolution
117+
cd submodules/icu4x/provider/datagen # avoid global feature resolution
118118
rustup target add aarch64-apple-darwin
119119
cargo build --release --bin icu4x-datagen --no-default-features --features bin,blob_exporter,blob_input,rayon,experimental_components --target aarch64-apple-darwin
120120
rustup target add x86_64-apple-darwin
@@ -127,21 +127,22 @@ jobs:
127127
- name: Build Windows
128128
if: matrix.os == 'windows-latest'
129129
run: |
130-
cd submodules/icu4x
131-
132-
mkdir bin
133-
134-
cd ffi/dart
130+
rustup component add rust-src --toolchain nightly-x86_64-pc-windows-msvc
131+
132+
pushd pkgs/intl4x
135133
dart pub get
136-
cd ../..
137-
dart run ffi/dart/tool/build_libs.dart --file bin/windows_arm64_${{ matrix.compiletype }} --os windows --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
138-
dart run ffi/dart/tool/build_libs.dart --file bin/windows_ia32_${{ matrix.compiletype }} --os windows --architecture ia32 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
139-
dart run ffi/dart/tool/build_libs.dart --file bin/windows_x64_${{ matrix.compiletype }} --os windows --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
134+
popd
135+
136+
mkdir submodules/icu4x/bin
137+
138+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/windows_arm64_${{ matrix.compiletype }} --os windows --architecture arm64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
139+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/windows_ia32_${{ matrix.compiletype }} --os windows --architecture ia32 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
140+
dart pkgs/intl4x/tool/build_libs.g.dart --working_directory submodules/icu4x --file submodules/icu4x/bin/windows_x64_${{ matrix.compiletype }} --os windows --architecture x64 --compile_type ${{ matrix.compiletype }} --cargo_features icu_collator,icu_datetime,icu_list,icu_decimal,icu_plurals,experimental_components${{ env.DATA }}
140141
141142
- name: Build Windows data
142143
if: matrix.os == 'windows-latest' && matrix.compiletype == 'static'
143144
run: |
144-
cd provider/datagen # avoid global feature resolution
145+
cd submodules/icu4x/provider/datagen # avoid global feature resolution
145146
rustup target add aarch64-pc-windows-msvc
146147
cargo build --release --bin icu4x-datagen --no-default-features --features bin,blob_exporter,blob_input,rayon,experimental_components --target aarch64-pc-windows-msvc
147148
rustup target add x86_64-pc-windows-msvc

pkgs/intl4x/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.11.2
2+
3+
- Use locally modified build_tools.dart for building icu4x libs.
4+
15
## 0.11.1
26

37
- Fix fraction digits parsing and allow no hook options key in the pubspec.

pkgs/intl4x/hook/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@
1010
1. Create PR.
1111
2. Run `bash tools/regenerate_bindings.sh`, and fix resulting errors.
1212
3. Update `const version` in `version.dart` to tag.
13-
4. Regenerate hashes using `cd pkgs/intl4x/; dart --enable-experiment=native-assets tool/regenerate_hashes.dart`.
13+
4. Regenerate hashes using `cd pkgs/intl4x/; dart tool/regenerate_hashes.dart`.
1414
5. Land PR.

pkgs/intl4x/pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: intl4x
22
description: >-
33
A lightweight modular library for internationalization (i18n) functionality.
4-
version: 0.11.1
4+
version: 0.11.2
55
repository: https://github.com/dart-lang/i18n/tree/main/pkgs/intl4x
66
issue_tracker: https://github.com/dart-lang/i18n/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aintl4x
77

pkgs/intl4x/tool/build_libs.g.dart

+196
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)