Don't try to install dependencies on macOS - build agents on Windows
and macOS are currently configured manually at this point. We don't
want to be attempting to install dependencies on macOS automatically -
homebrew is extremely fragile for CI as it always updates everything to
latest version (which of course breaks many things).
(from https://github.com/keymanapp/keyman/pull/14059#pullrequestreview-2873213671)
This adds command line arguments for the paths to the `s.keyman.com` and
`help.keyman.com` repos.
This deviates from sticking strictly with what's on TC so that we can
pass the desired arguments right from the start and don't have to add
another check in the TC build steps.
This adds a modified version of JetBrains' TeamCity test runner that
makes use of the `parent` property in the service messages and thus
allows to properly indent and fold the block that contains the test
output.
Test-bot: skip
This modifies the build triggers so that changes in `resources/teamcity` don't trigger builds on all platforms anymore. If a change happened in `resources/teamcity/$platform` or `resources/teamcity/includes` it will trigger a build for `$platform`.
Since bash doesn't support negative look-aheads we use `grep` with the Perl regex option.
Fixes: #13943
This change addresses code review comments. `common` and `core` also
have TC build configs, so we add labels for them as well.
Co-authored-by: Marc Durdin <marc@durdin.net>
This adds a `configure` build step that will install any missing
dependencies required to build on Linux and macoS.
macOS was added based on `resources/devbox/macos/macos.sh` but is
untested.
Test-bot: skip
Previously, if we had to install a new node version, we activated it in
the same subshell as the installation. This had the effect that `NVM_BIN`
was set to the new version only in the subshell, but otherwise it still
had the wrong value. This caused build failures. Subsequent builds would
succeed because the node version was now available.
This change fixes things by using an explicit `if` instead of the
construct with parens which opened another subshell.
Fixes: #14056
Test-bot: skip
This refactors the build script and makes some changes so that it is
possible to run in a docker container on a developer's machine.
Part-of: #13399
Test-bot: skip
This matches the existing TC configuration as closely as possible. It also
puts the scripts in `resources/teamcity/web`, but doesn't relocate the
Linux scripts until we decide where things should go.
Part-of: #13399
Test-bot: skip
This modifies the build triggers so that changes in `resources/teamcity`
don't trigger builds on all platforms anymore. If a change happened in
`resources/teamcity/$platform` or `resources/teamcity/includes` it will
trigger a build for `$platform`.
Since bash doesn't support negative look-aheads we use `grep` with the
Perl regex option.
Part-of: #13943
Build-bot: skip
This are a little early but good to have in place. Per release process
wiki, this should have been done at time of 18.0 stable release but
was missed (by me).
* Change zip_files to add_zip_files
* Clarify flags used for zip vs 7z
* Use `zip-excludes` instead of `excludes.in` for the list of file to exclude from the archive
In addition to all the other dependencies we also need quilt installed in order to be able to create a source package. Additionally renamed a function to clarify its purpose.
# 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