* Specify clearer filenames for Android samples and test KeyboardHarness
* Cleanup android/*/build.sh to match current patterns
* Remove obsolete jcenter dependency
* Export BUILDER_CONFIGURATION in builder.inc.sh
Fixes: #16137Fixes: #16181
Test-bot: skip
Build-bot: skip release:android
Building the FirstVoices app is triggered in the top-level `build.sh`
if the two environment variables are set. Previously we didn't pass
these variables to Docker, so the FV app was never built even when the
env variables were set. This change passes the two variables to the
container, thus allowing to build the FW app in the docker container.
Build-bot: skip
Test-bot: skip
* Centralize the api-extractor.json files, update usage
* Support @since
* Tidy up a few warnings relating to API documentation content
Fixes: #14838
Test-bot: skip
Previously we tried to include all necessary files in the Linux source
tarball, so that a user would be able to successfully run the top-level
`build.sh` file. However, that causes problems when new dependencies
between sub-projects get introduced that would require adding additional
sub-projects to the tarball.
This change modifies the tarball to only include files that are necessary
to run the `linux/build.sh` file, i.e. necessary to build Keyman for
Linux. This is likely what users would expect when they download a source
tarball for Linux. If users want to build other parts of Keyman that are
buildable on Linux they can download the source tarball that the GitHub
releases page provides, or clone the repo.
In order to be able to still run the top-level `build.sh` script, this
change replaces the top-level `build.sh` with a script that simply
forwards the arguments to `linux/build.sh`.
This change also reverts the recent introduction of a *.pkg.tar.xz file
that contained all files necessary to build a Debian/Ubuntu package. There
wouldn't be a difference anymore between the two .tar.xz files.
Fixes: #16004Fixes: #16005
Build-bot: skip build:linux
Test-bot: skip
When running on CI kmcmplib gets fully build, which requires emscripten.
This change installs emscripten before running the source tarball
verification.
Also modify `launchpad.sh` and add option `--no-sign` so that we don't
have to set up things for signing. Use long options for `debuild` where
possible.
Build-bot: skip build:linux
Test-bot: skip
If a build couldn't find emcc and environment variables were not set,
previously the build silently quit. This change fixes this so that we get a
proper error message if emcc can't be found.
A similar fix is necessary for 7z where we use similar code.
Test-bot: skip
- make `verify_source.sh` a full builder script
- make options for `launchpad.sh` less confusing
- reference `--help` in `packaging.md`
- run new script as part of Ubuntu packaging workflow
Co-authored-by: Marc Durdin <marc@durdin.net>
The source tarball we upload to downloads.keyman.com contains all files
necessary to run `${KEYMAN_ROOT}/build.sh`, i.e. it contains all projects
that can be build on Linux. However, that is not the command used when
building Debian packages. There we limit the build to the `linux`
subfolder. Therefore we only need a subset of the files. Using the full
tarball causes some lintian errors.
This change creates and uploads a second tarball on release builds that
contains only the files needed for Debian packaging. The file is named
`keyman_$VERSION.pkg.tar.xz`.
Build-bot: skip
Test-bot: skip
This change adds a new GitHub action that verifies that Keyman can build
from the source package. Also check that source package used for Launchpad
and Debian/Ubuntu packaging doesn't produce lintian errors. Previously
lintian errors did go unnoticed because they didn't stop the build.
Also refactor `launchpad.sh` script to be a proper builder script, and add
some new parameters to allow skipping some steps in the script.
Build-bot: skip
Test-bot: skip
The automatic installation of emscripten on build agents did not work
if `EMSCRIPTEN_BASE` was set. This change improves things for a corrupt
installation by using `EMSCRIPTEN_BASE` if already set, and by skipping
clone if it already exists.
Build-bot: skip build:developer
Test-bot: skip
This change is in response to inconsistent build behavior where we
observed better outcomes after manually cleaning the Carthage cache.
The cache folder had clearly also become very large over time so this
has the side benefit of clearing up space on the build agents. It is
unclear how much time this will cost in the build, but we don't suppose
it will make them dramatically slower.
Note: the same change has been applied in TC for stable-18.0 builds.
Test-bot: skip
This change adds the `assert-true` and `assert-false` function to our
bash testing framework, together with unit tests.
Also rename the test file to `testing-framework.inc.tests.sh` to match
the implementation file.
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
# Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
# Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
There were two issues arising from #15493 - first,
`$KEYMAN_SYMSTOREPATH` was set too late, after the build, and second,
symsrv renames `000admin` to `000Admin` but we need to keep it lowercase
for our deployment server, so rename it back just in time before
uploading.
As tidy-up, given that the folder name `000admin` is static and never
changes, removed the parameter and hard-coded it instead.
* export `$KEYMAN_SYMSTOREPATH` before build
* define `000admin` folder explicitly and deprecate --symbols-subdir parameter
* rename `000Admin` to `000admin` before upload
Fixes: #14837
Follows: #15493
Test-bot: skip