Note: this does not remove auto merge from the
auto-merge-keyman-server-pr.yml GHA at this time, because that would
require us to use graphql to mark PRs as auto-merge, and we are not
quite ready to do that. So we'll continue to use the automerge action
for now.
The scope for pull request events has been expanded on
auto-merge-keyman-server-pr.yml so that updates to build status trigger
the automerge as needed.
Fixes: #14502
Build-bot: skip
Test-bot: skip
deb-packaging.yml runs from master, so we need to continue to source
build-utils.sh until v19 release, so that we can build v18 branches.
Note that deb-packaging.yml will not successfully build on the #14449
branch until this change is merged to master.
Fixes: #14065
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.
Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh
Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
android/build.sh.
* Renames functions in builder-basic.inc.sh
More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.
Fixes: #14065
Build-bot: build all
Test-bot: skip
Prevents PRs from keyman-server from being merged unless they already
have the 'automerge' label. This supports the upcoming epic-master-merge
infrastructure, where we would like to automatically approve the PRs but
allow maintainers to merge when ready.
We cannot specify required status checks at this point, because we don't
necessarily know which status checks will be required for a given PR. A
future improvement would be to define a new status check which verifies
that all the expected builds for a given PR have passed, and then make
that into a required status check for all master,beta,stable-x.y,epic/
branches. This status check would need to be updated automatically
whenever another status check completes. Probably should be implemented
as a GHA.
In the future, we could move to using GitHub's auto-merge functionality,
and not use the current auto-merge action but that's a much bigger
change.
Also, upgraded auto-approve to v4.0.0 to remove node deprecation
warnings.
The previous version 2.0 of gha-ubuntu-packaging was missing `--` to
separate the command to be called from `retry`, so the arguments
for that command were considered arguments for `retry`. The new version
2.0.1 of gha-ubuntu-packaging fixes this.
Follow-up-of: #14089
Test-bot: skip
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>
Add label `$platform` for changes to `resources/teamcity/$platform`
or `resources/teamcity/includes`.
Also remove no longer existent `linux/legacy/` paths.
Fixes: #13943
Test-bot: skip
The recent update of one of the `docker/build-push-action` dependency
referenced in the `gha-ubuntu-packaging` dependency now adds the
`.dockerbuild` log files as artifacts which confuses the
`prepare_api_verification` step. This change now limits the artifacts
we pass to the API verification to the keyman package related ones.
Test-bot: skip
This change fixes the fix that #13891 implemented. However that only
used the string `VERSION` instead of the variable... Fixes the package
builds of `stable-18.0` branch.
Fixes: #13891
Test-bot: skip
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.
This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.
Test-bot: skip
During the "M3: Maintenance Sprints" session of the April 2025 planning
conference we discussed that we'd rename the `chore` GH label to `maint`.
However, this change doesn't remove the existing `chore` label because
that is also used for merge commits.
Note: m:predictive-text and m:developer-ide mark a change where we have
some modules with fuzzy boundaries and where it may not be easy to
automatically determine all changes by pathname. I am not altogether
comfortable with these so we may iterate a bit further yet.
So far the GHA was called "Ubuntu packaging" but the status reported as
"Debian packaging" which was confusing. This change now uses "Ubuntu
packaging" in both places.
We still keep the filename `deb-packaging.yml` because we're packaging
the .deb format, and because it's shorter.
Fixes: #13497