diff --git a/.github/workflows/api-verification.yml b/.github/workflows/api-verification.yml index 8f37141c08..b8b2e35563 100644 --- a/.github/workflows/api-verification.yml +++ b/.github/workflows/api-verification.yml @@ -15,7 +15,7 @@ jobs: name: Verify API for libkeymancore*.so runs-on: ubuntu-latest outputs: - VERSION: ${{ steps.environment_step.outputs.VERSION }} + KEYMAN_VERSION: ${{ steps.environment_step.outputs.KEYMAN_VERSION }} PRERELEASE_TAG: ${{ steps.environment_step.outputs.PRERELEASE_TAG }} GIT_SHA: ${{ steps.environment_step.outputs.GIT_SHA }} GIT_BASE: ${{ steps.environment_step.outputs.GIT_BASE }} @@ -69,7 +69,7 @@ jobs: run: | echo "Verify API for libkeymancore*.so (${{ steps.environment_step.outputs.GIT_BRANCH }}, branch ${{ steps.environment_step.outputs.GIT_BASE_BRANCH }}, by ${{ steps.environment_step.outputs.GIT_USER }}):" >> $GITHUB_STEP_SUMMARY - BIN_PACKAGE=$(ls "${GITHUB_WORKSPACE}/artifacts/" | grep "${PKG_NAME}[0-9]*_${{ steps.environment_step.outputs.VERSION }}-1${{ steps.environment_step.outputs.PRERELEASE_TAG }}+$(lsb_release -c -s)1_amd64.deb") + BIN_PACKAGE=$(ls "${GITHUB_WORKSPACE}/artifacts/" | grep "${PKG_NAME}[0-9]*_${{ steps.environment_step.outputs.KEYMAN_VERSION }}-1${{ steps.environment_step.outputs.PRERELEASE_TAG }}+$(lsb_release -c -s)1_amd64.deb") cd ${{ github.workspace }}/keyman/linux ./scripts/deb-packaging.sh \ --gha \ diff --git a/.github/workflows/deb-packaging.yml b/.github/workflows/deb-packaging.yml index c026acafeb..c7bc098d8b 100644 --- a/.github/workflows/deb-packaging.yml +++ b/.github/workflows/deb-packaging.yml @@ -37,7 +37,7 @@ jobs: if: github.repository == 'keymanapp/keyman' runs-on: ubuntu-24.04 outputs: - VERSION: ${{ steps.version_step.outputs.VERSION }} + KEYMAN_VERSION: ${{ steps.version_step.outputs.KEYMAN_VERSION }} PRERELEASE_TAG: ${{ steps.prerelease_tag.outputs.PRERELEASE_TAG }} steps: - name: Checkout @@ -72,10 +72,10 @@ jobs: - name: Build source package id: build_source_package run: | - export TIER=$(cat TIER.md) + export KEYMAN_TIER=$(cat TIER.md) export GHA_TEST_BUILD="${{ github.event.client_payload.isTestBuild }}" export GHA_BRANCH="${{ github.event.client_payload.branch }}" - echo "TIER=$TIER" >> $GITHUB_ENV + echo "KEYMAN_TIER=$KEYMAN_TIER" >> $GITHUB_ENV echo "GHA_TEST_BUILD=${GHA_TEST_BUILD}" >> $GITHUB_ENV echo "GHA_BRANCH=${GHA_BRANCH}" >> $GITHUB_ENV cd linux @@ -87,7 +87,7 @@ jobs: run: | THIS_SCRIPT="$GITHUB_WORKSPACE/.github/workflows/deb-packaging.yml" . "${THIS_SCRIPT%/*}/../../resources/build/build-utils.sh" - echo "VERSION=$VERSION" >> $GITHUB_OUTPUT + echo "KEYMAN_VERSION=$KEYMAN_VERSION" >> $GITHUB_OUTPUT - name: Set prerelease tag as output parameter id: prerelease_tag @@ -103,9 +103,9 @@ jobs: - name: Output which branch or PR we're building plus name of .dsc file run: | if [ "${{ github.event.client_payload.isTestBuild }}" == "true" ]; then - echo ":checkered_flag: **Test build of version ${{ steps.version_step.outputs.VERSION }} for ${{ github.event.client_payload.branch }}**" >> $GITHUB_STEP_SUMMARY + echo ":checkered_flag: **Test build of version ${{ steps.version_step.outputs.KEYMAN_VERSION }} for ${{ github.event.client_payload.branch }}**" >> $GITHUB_STEP_SUMMARY else - echo ":ship: **Release build of ${{ github.event.client_payload.branch }} branch (${{ github.event.client_payload.branch}}), version ${{ steps.version_step.outputs.VERSION }}**" >> $GITHUB_STEP_SUMMARY + echo ":ship: **Release build of ${{ github.event.client_payload.branch }} branch (${{ github.event.client_payload.branch}}), version ${{ steps.version_step.outputs.KEYMAN_VERSION }}**" >> $GITHUB_STEP_SUMMARY fi echo "" >> $GITHUB_STEP_SUMMARY echo ":gift: Generated source package:" >> $GITHUB_STEP_SUMMARY @@ -140,7 +140,7 @@ jobs: uses: ./.github/actions/build-binary-packages with: dist: ${{ matrix.dist }} - version: ${{ needs.sourcepackage.outputs.VERSION }} + version: ${{ needs.sourcepackage.outputs.KEYMAN_VERSION }} prerelease_tag: ${{ needs.sourcepackage.outputs.PRERELEASE_TAG }} deb_fullname: ${{env.DEBFULLNAME}} deb_email: ${{env.DEBEMAIL}} @@ -166,7 +166,7 @@ jobs: uses: ./.github/actions/build-binary-packages with: dist: ${{ matrix.dist }} - version: ${{ needs.sourcepackage.outputs.VERSION }} + version: ${{ needs.sourcepackage.outputs.KEYMAN_VERSION }} prerelease_tag: ${{ needs.sourcepackage.outputs.PRERELEASE_TAG }} deb_fullname: ${{env.DEBFULLNAME}} deb_email: ${{env.DEBEMAIL}} @@ -211,8 +211,8 @@ jobs: - name: Sign packages uses: sillsdev/gha-deb-signing@a38dbde6bc9afabede5e07609105acc83c760ad4 # v0.6 with: - src-pkg-name: "keyman_${{ needs.sourcepackage.outputs.VERSION }}-1_source.changes" - bin-pkg-name: "keyman_${{ needs.sourcepackage.outputs.VERSION }}-1${{ needs.sourcepackage.outputs.PRERELEASE_TAG }}+" + src-pkg-name: "keyman_${{ needs.sourcepackage.outputs.KEYMAN_VERSION }}-1_source.changes" + bin-pkg-name: "keyman_${{ needs.sourcepackage.outputs.KEYMAN_VERSION }}-1${{ needs.sourcepackage.outputs.PRERELEASE_TAG }}+" artifacts-prefix: "keyman-" artifacts-result-name: "keyman-signedpkgs" gpg-signing-key: "${{ secrets.GPG_SIGNING_KEY }}" @@ -293,7 +293,7 @@ jobs: echo "::endgroup::" echo -e "::group::${COLOR_GREEN}Uploading binary packages" - pattern="keyman_${{ needs.sourcepackage.outputs.VERSION }}.+\+(.*)[0-9]_[^.]+.changes" + pattern="keyman_${{ needs.sourcepackage.outputs.KEYMAN_VERSION }}.+\+(.*)[0-9]_[^.]+.changes" for f in *_amd64.changes; do if [[ $f =~ $pattern ]]; then dist=${BASH_REMATCH[1]} @@ -316,7 +316,7 @@ jobs: - name: Save environment run: | - echo "VERSION=${{ needs.sourcepackage.outputs.VERSION }}" > artifacts/env + echo "KEYMAN_VERSION=${{ needs.sourcepackage.outputs.KEYMAN_VERSION }}" > artifacts/env echo "PRERELEASE_TAG=${{ needs.sourcepackage.outputs.PRERELEASE_TAG }}" >> artifacts/env echo "GIT_SHA=${{ github.event.client_payload.buildSha }}" >> artifacts/env echo "GIT_BASE=${{ github.event.client_payload.baseRef }}" >> artifacts/env diff --git a/android/KMAPro/build-play-store-notes.inc.sh b/android/KMAPro/build-play-store-notes.inc.sh index 56b9a92326..23a14d4eb3 100755 --- a/android/KMAPro/build-play-store-notes.inc.sh +++ b/android/KMAPro/build-play-store-notes.inc.sh @@ -12,7 +12,7 @@ function generateReleaseNotes() { # Reference: https://github.com/Triple-T/gradle-play-publisher#uploading-release-notes # local PLAY_RELEASE_NOTES="$KEYMAN_ROOT/android/KMAPro/kMAPro/src/main/play/release-notes/en-US/$TIER.txt" - if [ $TIER = "stable" ]; then + if [ $KEYMAN_TIER = "stable" ]; then PLAY_RELEASE_NOTES="$KEYMAN_ROOT/android/KMAPro/kMAPro/src/main/play/release-notes/en-US/default.txt" fi builder_heading "Generating Play Store release notes to $PLAY_RELEASE_NOTES" diff --git a/android/KMAPro/build.sh b/android/KMAPro/build.sh index bfe81bba5b..aef29ae0a0 100755 --- a/android/KMAPro/build.sh +++ b/android/KMAPro/build.sh @@ -43,7 +43,7 @@ fi builder_describe_outputs \ configure /android/KMAPro/kMAPro/libs/keyman-engine.aar \ - build /android/KMAPro/kMAPro/build/outputs/apk/$CONFIG/keyman-${VERSION}.apk + build /android/KMAPro/kMAPro/build/outputs/apk/$CONFIG/keyman-${KEYMAN_VERSION}.apk #### Build @@ -57,12 +57,12 @@ fi #### Build action definitions #### function makeLocalSentryRelease() { - echo "Making a Sentry release for tag $VERSION_GIT_TAG" + echo "Making a Sentry release for tag $KEYMAN_VERSION_GIT_TAG" sentry-cli upload-dif -p keyman-android --include-sources - sentry-cli releases -p keyman-android files $VERSION_GIT_TAG upload-sourcemaps ./ + sentry-cli releases -p keyman-android files $KEYMAN_VERSION_GIT_TAG upload-sourcemaps ./ - echo "Finalizing release tag $VERSION_GIT_TAG" - sentry-cli releases finalize "$VERSION_GIT_TAG" + echo "Finalizing release tag $KEYMAN_VERSION_GIT_TAG" + sentry-cli releases finalize "$KEYMAN_VERSION_GIT_TAG" } diff --git a/android/KMAPro/kMAPro/build.gradle b/android/KMAPro/kMAPro/build.gradle index 768d98d933..46750a183f 100644 --- a/android/KMAPro/kMAPro/build.gradle +++ b/android/KMAPro/kMAPro/build.gradle @@ -29,11 +29,11 @@ android { //dumpProperties(project) // Use this to dump all external properties for debugging TeamCity integration //println "===END DUMP===" - // VERSION strings from version.gradle - versionCode VERSION_CODE as Integer - versionName VERSION_NAME - buildConfigField 'String', 'VERSION_ENVIRONMENT', '"'+VERSION_ENVIRONMENT+'"' - buildConfigField 'String', 'VERSION_GIT_TAG', '"'+VERSION_GIT_TAG+'"' + // KEYMAN_VERSION strings from version.gradle + versionCode KEYMAN_VERSION_CODE as Integer + versionName KEYMAN_VERSION_NAME + buildConfigField 'String', 'KEYMAN_VERSION_ENVIRONMENT', '"'+KEYMAN_VERSION_ENVIRONMENT+'"' + buildConfigField 'String', 'KEYMAN_VERSION_GIT_TAG', '"'+KEYMAN_VERSION_GIT_TAG+'"' } String env_release_store_file = System.getenv("release_store_file") @@ -77,7 +77,7 @@ android { // - PR builds also have "-test-1234" suffix (where 1234 is PR#) // Gradle sync will nullify these values, so have a fallback String appSuffix = '' - String tag = VERSION_TAG ? VERSION_TAG : '-' + tier; + String tag = KEYMAN_VERSION_TAG ? KEYMAN_VERSION_TAG : '-' + tier; if (tag.startsWithAny("-beta", "beta")) { appSuffix = ' Beta'; } else if (tag.startsWithAny("-alpha", "alpha")) { @@ -88,16 +88,16 @@ android { // -test-PR_NUMBER appSuffix = appSuffix + match.group(1) } else { - String environment = VERSION_ENVIRONMENT ? VERSION_ENVIRONMENT : 'local'; + String environment = KEYMAN_VERSION_ENVIRONMENT ? KEYMAN_VERSION_ENVIRONMENT : 'local'; if (environment.matches("local")) { appSuffix = appSuffix + '-' + environment; } } variant.resValue "string", "app_name", 'Keyman' + appSuffix; - // Adjust output name to "keyman-${VERSION_MD}.apk" + // Adjust output name to "keyman-${KEYMAN_VERSION_MD}.apk" variant.outputs.all { - outputFileName = "keyman-" + VERSION_MD + ".apk" + outputFileName = "keyman-" + KEYMAN_VERSION_MD + ".apk" } } lintOptions { diff --git a/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java b/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java index e6016202a0..2d03311d50 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java +++ b/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java @@ -62,8 +62,8 @@ public class SystemKeyboard extends InputMethodService implements OnKeyboardEven Log.d(TAG, "Initializing Sentry"); SentryAndroid.init(getApplicationContext(), options -> { options.setEnableAutoSessionTracking(false); - options.setRelease(com.tavultesoft.kmapro.BuildConfig.VERSION_GIT_TAG); - options.setEnvironment(com.tavultesoft.kmapro.BuildConfig.VERSION_ENVIRONMENT); + options.setRelease(com.tavultesoft.kmapro.BuildConfig.KEYMAN_VERSION_GIT_TAG); + options.setEnvironment(com.tavultesoft.kmapro.BuildConfig.KEYMAN_VERSION_ENVIRONMENT); }); } if (BuildConfig.DEBUG) { diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java index 07ce5c4cbb..fbe8475f09 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java @@ -144,8 +144,8 @@ public class MainActivity extends BaseActivity implements OnKeyboardEventListene if (KMManager.getMaySendCrashReport()) { SentryAndroid.init(context, options -> { options.setEnableAutoSessionTracking(false); - options.setRelease(com.tavultesoft.kmapro.BuildConfig.VERSION_GIT_TAG); - options.setEnvironment(com.tavultesoft.kmapro.BuildConfig.VERSION_ENVIRONMENT); + options.setRelease(com.tavultesoft.kmapro.BuildConfig.KEYMAN_VERSION_GIT_TAG); + options.setEnvironment(com.tavultesoft.kmapro.BuildConfig.KEYMAN_VERSION_ENVIRONMENT); }); } diff --git a/android/KMEA/app/build.gradle b/android/KMEA/app/build.gradle index c80a4fd66e..c556e2588c 100644 --- a/android/KMEA/app/build.gradle +++ b/android/KMEA/app/build.gradle @@ -14,9 +14,9 @@ android { minSdkVersion 21 targetSdkVersion 34 - // VERSION_CODE and VERSION_NAME from version.gradle but Gradle removes them for libraries - buildConfigField "String", "KEYMAN_ENGINE_VERSION_NAME", "\""+VERSION_NAME+"\"" - buildConfigField "String", "VERSION_ENVIRONMENT", "\""+VERSION_ENVIRONMENT+"\"" + // KEYMAN_VERSION_CODE and KEYMAN_VERSION_NAME from version.gradle but Gradle removes them for libraries + buildConfigField "String", "KEYMAN_ENGINE_VERSION_NAME", "\""+KEYMAN_VERSION_NAME+"\"" + buildConfigField "String", "KEYMAN_VERSION_ENVIRONMENT", "\""+KEYMAN_VERSION_ENVIRONMENT+"\"" // Sepcify library filename keyman-engine-$CONFIG.aar setProperty("archivesBaseName", "keyman-engine") diff --git a/android/KMEA/app/src/main/java/com/keyman/engine/util/VersionUtils.java b/android/KMEA/app/src/main/java/com/keyman/engine/util/VersionUtils.java index 58e80399f5..7188280615 100644 --- a/android/KMEA/app/src/main/java/com/keyman/engine/util/VersionUtils.java +++ b/android/KMEA/app/src/main/java/com/keyman/engine/util/VersionUtils.java @@ -12,11 +12,11 @@ public final class VersionUtils { public static final String TAG = "VersionUtils"; public static boolean isLocalBuild() { - return BuildConfig.VERSION_ENVIRONMENT.equalsIgnoreCase("local"); + return BuildConfig.KEYMAN_VERSION_ENVIRONMENT.equalsIgnoreCase("local"); } public static boolean isTestBuild() { - return BuildConfig.VERSION_ENVIRONMENT.equalsIgnoreCase("test"); + return BuildConfig.KEYMAN_VERSION_ENVIRONMENT.equalsIgnoreCase("test"); } // Utility for local and PR test builds - e.g. force check of keyboard updates diff --git a/android/Tests/KeyboardHarness/app/build.gradle b/android/Tests/KeyboardHarness/app/build.gradle index 5462622cfa..3eba70ec99 100644 --- a/android/Tests/KeyboardHarness/app/build.gradle +++ b/android/Tests/KeyboardHarness/app/build.gradle @@ -19,10 +19,10 @@ android { minSdkVersion 21 targetSdkVersion 34 - // VERSION_CODE and VERSION_NAME from version.gradle - versionCode VERSION_CODE as Integer - versionName VERSION_NAME - buildConfigField "String", "VERSION_ENVIRONMENT", "\""+VERSION_ENVIRONMENT+"\"" + // KEYMAN_VERSION_CODE and KEYMAN_VERSION_NAME from version.gradle + versionCode KEYMAN_VERSION_CODE as Integer + versionName KEYMAN_VERSION_NAME + buildConfigField "String", "KEYMAN_VERSION_ENVIRONMENT", "\""+KEYMAN_VERSION_ENVIRONMENT+"\"" } buildTypes { release { diff --git a/android/Tests/keycode/app/build.gradle b/android/Tests/keycode/app/build.gradle index ffba4c0cc4..a0b24abb44 100644 --- a/android/Tests/keycode/app/build.gradle +++ b/android/Tests/keycode/app/build.gradle @@ -12,10 +12,10 @@ android { minSdkVersion 21 targetSdkVersion 34 - // VERSION_CODE and VERSION_NAME from version.gradle - versionCode VERSION_CODE as Integer - versionName VERSION_NAME - buildConfigField "String", "VERSION_ENVIRONMENT", "\""+VERSION_ENVIRONMENT+"\"" + // KEYMAN_VERSION_CODE and KEYMAN_VERSION_NAME from version.gradle + versionCode KEYMAN_VERSION_CODE as Integer + versionName KEYMAN_VERSION_NAME + buildConfigField "String", "KEYMAN_VERSION_ENVIRONMENT", "\""+KEYMAN_VERSION_ENVIRONMENT+"\"" } buildTypes { release { diff --git a/android/version.gradle b/android/version.gradle index ebf68a94e0..ea7342166c 100644 --- a/android/version.gradle +++ b/android/version.gradle @@ -7,9 +7,9 @@ // def getVersionCode = { -> - String env_version_major = System.getenv("VERSION_MAJOR") - String env_version_minor = System.getenv("VERSION_MINOR") - String env_version_patch = System.getenv("VERSION_PATCH") + String env_version_major = System.getenv("KEYMAN_VERSION_MAJOR") + String env_version_minor = System.getenv("KEYMAN_VERSION_MINOR") + String env_version_patch = System.getenv("KEYMAN_VERSION_PATCH") if(env_version_patch != null && env_version_minor != null && env_version_patch != null) { // Version code is, for 17.1.33: 1810033. This supports up to 9999 // builds for a given major.minor version. We only support up to 9 minor @@ -36,10 +36,10 @@ def getVersionCode = { -> } def getVersionMD = { -> - String env_version = System.getenv("VERSION") + String env_version = System.getenv("KEYMAN_VERSION") if (env_version != null) { - // If building from script, we have build number in VERSION - println "Using build $env_version from VERSION" + // If building from script, we have build number in KEYMAN_VERSION + println "Using build $env_version from KEYMAN_VERSION" return "$env_version" } else { String version_md = file("$rootPath/../VERSION.md").text.trim() @@ -48,15 +48,15 @@ def getVersionMD = { -> } def getVersionName = { -> - String env_version = System.getenv("VERSION_WITH_TAG") + String env_version = System.getenv("KEYMAN_VERSION_WITH_TAG") if (env_version != null) { - // If building from script, we have build number in VERSION_WITH_TAG - println "Using build $env_version from VERSION_WITH_TAG" + // If building from script, we have build number in KEYMAN_VERSION_WITH_TAG + println "Using build $env_version from KEYMAN_VERSION_WITH_TAG" return "$env_version" } else { // Building probably from IDE, so let's use VERSION.md and TIER.md directly - // This is a close match with VERSION_WITH_TAG, except that 'stable' tier - // is not normally included with VERSION_WITH_TAG + // This is a close match with KEYMAN_VERSION_WITH_TAG, except that 'stable' tier + // is not normally included with KEYMAN_VERSION_WITH_TAG String version_md = file("$rootPath/../VERSION.md").text.trim() String tier_md = file("$rootPath/../TIER.md").text.trim() println "Using build $version_md-$tier_md-local from project VERSION.md/TIER.md" @@ -65,10 +65,10 @@ def getVersionName = { -> } def getVersionEnvironment = { -> - String env_environment = System.getenv("VERSION_ENVIRONMENT") + String env_environment = System.getenv("KEYMAN_VERSION_ENVIRONMENT") if (env_environment != null) { - // If building from script, we have build number in VERSION_ENVIRONMENT - println "Using $env_environment from VERSION_ENVIRONMENT" + // If building from script, we have build number in KEYMAN_VERSION_ENVIRONMENT + println "Using $env_environment from KEYMAN_VERSION_ENVIRONMENT" return "$env_environment" } else { // Building probably from IDE, so use "local" @@ -78,23 +78,23 @@ def getVersionEnvironment = { -> } def getVersionGitTag = { -> - String env_git_tag = System.getenv("VERSION_GIT_TAG") + String env_git_tag = System.getenv("KEYMAN_VERSION_GIT_TAG") if (env_git_tag != null) { - println "Using $env_git_tag from VERSION_GIT_TAG" + println "Using $env_git_tag from KEYMAN_VERSION_GIT_TAG" return "$env_git_tag" } else { // Building probably from IDE - println "Using release@$VERSION_NAME" - return "release@$VERSION_NAME" + println "Using release@$KEYMAN_VERSION_NAME" + return "release@$KEYMAN_VERSION_NAME" } } ext { - VERSION_CODE=getVersionCode() - VERSION_MD=getVersionMD() - VERSION_NAME=getVersionName() - VERSION_ENVIRONMENT=getVersionEnvironment() - VERSION_TAG=System.getenv("VERSION_TAG") - VERSION_GIT_TAG=getVersionGitTag() + KEYMAN_VERSION_CODE=getVersionCode() + KEYMAN_VERSION_MD=getVersionMD() + KEYMAN_VERSION_NAME=getVersionName() + KEYMAN_VERSION_ENVIRONMENT=getVersionEnvironment() + KEYMAN_VERSION_TAG=System.getenv("KEYMAN_VERSION_TAG") + KEYMAN_VERSION_GIT_TAG=getVersionGitTag() } -//println "version.gradle: VERSION_TAG: " + VERSION_TAG \ No newline at end of file +//println "version.gradle: KEYMAN_VERSION_TAG: " + KEYMAN_VERSION_TAG \ No newline at end of file diff --git a/common/test/keyboards/build.sh b/common/test/keyboards/build.sh index 2c8cc19ff4..1a1c9c2675 100755 --- a/common/test/keyboards/build.sh +++ b/common/test/keyboards/build.sh @@ -40,10 +40,10 @@ function build_index() { - Test Keyboards - $VERSION_WITH_TAG + Test Keyboards - $KEYMAN_VERSION_WITH_TAG -

Test Keyboards - $VERSION_WITH_TAG

+

Test Keyboards - $KEYMAN_VERSION_WITH_TAG