mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
chore(common): test minimum-versions is up to date
Rewrite of publish-minimum-versions.sh to add some baseline tests for up-to-date status of minimum-versions.md, and adds first test against source data, where we have it, with language-subtag-registry.
This commit is contained in:
parent
7caaeb268f
commit
d4713dbae3
4 changed files with 60 additions and 16 deletions
|
|
@ -15,5 +15,6 @@ builder_parse "$@"
|
|||
|
||||
if builder_start_action test; then
|
||||
./build/test/test.sh
|
||||
./build/publish-minimum-versions.sh test
|
||||
builder_finish_action success test
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -43,8 +43,8 @@ KEYMAN_MIN_VERSION_ANDROID_SDK=21
|
|||
KEYMAN_DEFAULT_VERSION_UBUNTU_CONTAINER=noble # Ubuntu 24.04 Noble
|
||||
|
||||
# Data versions -- see resources/standards-data/readme.md
|
||||
KEYMAN_VERSION_CLDR=45 # LDML Keyboards version
|
||||
KEYMAN_VERSION_ISO639_3=2024-05-22 # Date of last import
|
||||
KEYMAN_VERSION_LANGTAGS=2025-02-18 # Date of last import
|
||||
KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY=2024-05-16 # Date of last import
|
||||
KEYMAN_VERSION_UNICODE=16.0.0 # UCD + related data
|
||||
KEYMAN_VERSION_CLDR=45 # LDML Keyboards version
|
||||
KEYMAN_VERSION_ISO639_3=2024-05-22 # Date of last import
|
||||
KEYMAN_VERSION_LANGTAGS=2025-02-18 # Date of last import
|
||||
KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY=2025-03-10 # Date from first line of language-subtag-registry
|
||||
KEYMAN_VERSION_UNICODE=16.0.0 # UCD + related data
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
#
|
||||
# Usage: publish-minimum-versions.sh
|
||||
# Usage: ./publish-minimum-versions.sh build test
|
||||
#
|
||||
# Parses minimum-versions.inc.sh to update template file /docs/minimum-versions.md.in.
|
||||
# If /docs/minimum-versions.md is changed, commit and push changes
|
||||
|
|
@ -13,12 +8,17 @@ set -u
|
|||
## START STANDARD BUILD SCRIPT INCLUDE
|
||||
# adjust relative paths as necessary
|
||||
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
|
||||
. "${THIS_SCRIPT%/*}/build-utils.sh"
|
||||
. "${THIS_SCRIPT%/*}/builder.inc.sh"
|
||||
## END STANDARD BUILD SCRIPT INCLUDE
|
||||
|
||||
. "${KEYMAN_ROOT}/resources/build/minimum-versions.inc.sh"
|
||||
|
||||
function generate_table {
|
||||
builder_describe "Build and test minimum-versions" \
|
||||
clean build test
|
||||
|
||||
builder_parse "$@"
|
||||
|
||||
generate_table() {
|
||||
echo ""
|
||||
echo "## minimum-versions.inc.sh Variables"
|
||||
echo ""
|
||||
|
|
@ -37,5 +37,30 @@ function generate_table {
|
|||
echo "> ### This file is auto-generated by publish-minimum-versions.sh. Do not modify"
|
||||
}
|
||||
|
||||
cp "$KEYMAN_ROOT/docs/minimum-versions.md.in" "$KEYMAN_ROOT/docs/minimum-versions.md"
|
||||
generate_table >> "$KEYMAN_ROOT/docs/minimum-versions.md"
|
||||
do_build() {
|
||||
cp "$KEYMAN_ROOT/docs/minimum-versions.md.in" "$KEYMAN_ROOT/docs/minimum-versions.md"
|
||||
generate_table >> "$KEYMAN_ROOT/docs/minimum-versions.md"
|
||||
}
|
||||
|
||||
do_test() {
|
||||
# Verify that minimum-versions.md matches the generated data
|
||||
|
||||
local new_table="$(mktemp)"
|
||||
cp "$KEYMAN_ROOT/docs/minimum-versions.md.in" "$new_table"
|
||||
generate_table >> "$new_table"
|
||||
diff --suppress-common-lines -yw "$KEYMAN_ROOT/docs/minimum-versions.md" "$new_table" || \
|
||||
builder_die "minimum-versions.md is not up to date. Please run 'publish-minimum-versions.sh build'"
|
||||
|
||||
# TODO: this should have a test for each of the known machine-extractable versions.
|
||||
|
||||
# language-subtag-registry
|
||||
local NEW_KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY="$(head ../standards-data/language-subtag-registry/language-subtag-registry -n 1 | cut -d" " -f 2 -)"
|
||||
echo "$NEW_KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY"
|
||||
if [[ "$NEW_KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY" != "$KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY" ]]; then
|
||||
builder_die "language-subtag-registry is version '$NEW_KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY' but minimum-version.inc.sh has version '$KEYMAN_VERSION_LANGUAGE_SUBTAG_REGISTRY'"
|
||||
fi
|
||||
}
|
||||
|
||||
builder_run_action clean rm -f "$KEYMAN_ROOT/docs/minimum-versions.md"
|
||||
builder_run_action build do_build
|
||||
builder_run_action test do_test
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
File-Date: 2025-02-06
|
||||
File-Date: 2025-03-10
|
||||
%%
|
||||
Type: language
|
||||
Subtag: aa
|
||||
|
|
@ -47979,6 +47979,12 @@ Comments: Written standard developed by Romanilha in 1853 and used by
|
|||
dóu Po, Escolo Gaston Febus, and others
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: hanoi
|
||||
Description: The Hà Nội variant of Vietnamese
|
||||
Added: 2025-03-10
|
||||
Prefix: vi
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: hepburn
|
||||
Description: Hepburn romanization
|
||||
Added: 2009-10-01
|
||||
|
|
@ -48009,6 +48015,12 @@ Added: 2017-03-14
|
|||
Prefix: eo
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: huett
|
||||
Description: The Huế (province Thừa Thiên) variant of Vietnamese
|
||||
Added: 2025-03-10
|
||||
Prefix: vi
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: ijekavsk
|
||||
Description: Serbian with Ijekavian pronunciation
|
||||
Prefix: sr
|
||||
|
|
@ -48335,6 +48347,12 @@ Prefix: rm
|
|||
Comments: Supraregional Romansh written standard
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: saigon
|
||||
Description: The Sài Gòn variant of Vietnamese
|
||||
Added: 2025-03-10
|
||||
Prefix: vi
|
||||
%%
|
||||
Type: variant
|
||||
Subtag: scotland
|
||||
Description: Scottish Standard English
|
||||
Added: 2007-08-31
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue