Commit graph

704 commits

Author SHA1 Message Date
Marc Durdin
41b89bb0d1 maint(resources): add pr-build-status test to resources/build.sh
Also tweak one output string for clarity.

Build-bot: skip
2025-06-25 05:51:00 +10:00
Marc Durdin
bb282303e4 maint(resources): minor cleanup
Build-bot: skip
2025-06-25 05:47:12 +10:00
Marc Durdin
6ab6e2b20e fix(resources): use correct payload for status event 2025-06-24 16:54:56 +10:00
Marc Durdin
9de8d260cc maint(resources): support additional workflow events for pr-build-status
Also retrieves the correct SHA from each workflow event.

Build-bot: skip
Test-bot: skip
2025-06-24 16:49:19 +10:00
Marc Durdin
795f9f75ae maint(resources): build pr-build-status.yml from sources 2025-06-24 09:47:12 +10:00
Marc Durdin
3be1bd942d
Merge pull request #14199 from keymanapp/maint/resources/14172-pr-build-status-2
maint(resources): add pr-build-status GitHub Action to summarize build status 🤖
2025-06-24 06:07:30 +07:00
Marc Durdin
61e1b4ca37
Merge pull request #14217 from keymanapp/maint/resources/allow-target-branch-names-in-rrtb
fix(resources): allow branch names in run-required-test-builds shortcut call
2025-06-24 06:07:16 +07:00
Marc Durdin
0f4a1cdfe7 fix(resources): allow branch names in run-required-test-builds shortcut call
This is a transitional patch while we wait for the Build-bot changes to
flow through all the open PRs. Fixes the broken master test build.
2025-06-24 09:03:28 +10:00
Marc Durdin
a6936a3a41
Merge pull request #14196 from keymanapp/maint/developer/support-buildLevel
maint(developer): support buildLevel 🤖
2025-06-24 05:53:13 +07:00
Marc Durdin
27196068ae chore(common): Merge branch 'maint/common/pr-build-bot' of https://github.com/keymanapp/keyman into maint/common/pr-build-bot 2025-06-23 05:14:36 +10:00
Marc Durdin
94cdf834df maint(common): polish docs and add tests for build-bot 2025-06-23 05:05:01 +10:00
Marc Durdin
deb18b4811 maint(resources): add pr-build-status check run GHA
Adds a check run to verify the outcome of all builds on the branch, so
that we can add branch protection rules.

Fixes: #14172
Build-bot: skip
2025-06-19 07:36:06 +10:00
Marc Durdin
825f7d2df0
Merge branch 'maint/common/pr-build-bot' into maint/developer/support-buildLevel 2025-06-16 04:54:29 +07:00
Marc Durdin
81c941313b
Merge branch 'master' into maint/common/pr-build-bot 2025-06-16 03:52:39 +07:00
Marc Durdin
156bdcdd8a maint(common): rename and move builder_if_release_build_level 2025-06-16 06:45:42 +10:00
Marc Durdin
f3136d5ab2 maint(developer): skip signature check on buildLevel build 2025-06-16 05:54:33 +10:00
Marc Durdin
870d37f56b maint(developer): only copy .dbg/.pdb on release buildLevel 2025-06-16 05:40:30 +10:00
Marc Durdin
11a558e926 maint(developer): support buildLevel
Relates-to: 14125
Build-bot: build
Test-bot: skip
2025-06-14 15:22:15 +10:00
Marc Durdin
d4fd05f470 docs(common): add build-bot documentation 2025-06-14 07:29:49 +10:00
Marc Durdin
9896fb878f maint(common): pass buildLevel to TeamCity / GHA 2025-06-14 07:29:31 +10:00
Marc Durdin
3754cac89b maint(resources): only automatically merge keyman-server PRs with automerge label
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.
2025-06-13 09:32:04 +10:00
Marc Durdin
b2e8418c2a
Merge branch 'master' into maint/common/pr-build-bot 2025-06-11 10:37:03 +07:00
Eberhard Beilharz
656c4b8c6d
maint(resources): fix regression on mac triggering builds
The `grep` available on macOS doesn't have the `--perl-regexp` option,
so the changes introduced in #14047 caused a regression. This change
directly makes use of Perl which is available on macOS.

Fixes: #14146
Follow-up-of: #14047
Test-bot: skip
2025-06-10 18:53:08 +02:00
Marc Durdin
a4c8f568f1
Merge branch 'master' into maint/common/pr-build-bot 2025-06-07 12:54:17 +07:00
Marc Durdin
d9378aebb2 maint(common): Build-bot now available to control test builds
The Build-bot command is available now to control which platforms are
built. See the wiki for instructions on how to use Build-bot.

Build-bot: build
Test-bot: skip
2025-06-05 15:05:35 +07:00
Darcy Wong
ceb7f741ae fix(android): Fix typos 2025-06-02 13:35:17 +07:00
Darcy Wong
6e5e25b5ea fix(android): Updates to handle zip-excludes 2025-06-02 11:45:32 +07:00
Darcy Wong
c455b8d74b
Merge pull request #13919 from keymanapp/maint/ios/use-zip-inc
maint(ios): Use zip.inc.sh to prep release artifacts
2025-06-02 10:27:36 +07:00
Eberhard Beilharz
eb1172b076
Merge pull request #14047 from keymanapp/maint/common/buildtrigger
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
2025-05-28 18:09:55 +02:00
Eberhard Beilharz
e7cb8b0617
maint(common): tweak labels for common and core
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>
2025-05-28 11:31:26 +02:00
Eberhard Beilharz
3a7663f7c1
fix(common): properly use newly installed node version
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
2025-05-27 17:07:23 +02:00
Eberhard Beilharz
efafd22b2f
maint(common): update build coordinator for resources/teamcity changes
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
2025-05-26 16:57:03 +02:00
Marc Durdin
2c52a733ec maint: add stable-19.0 triggers
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).
2025-05-25 06:03:37 +07:00
Darcy Wong
acc4aba32c fix(ios): Apply review comments
* 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
2025-05-23 05:57:25 +07:00
Joshua Horton
bfb97ca0c6 maint(web): upgrade Sentry to 8.55.0
Fixes: KEYMAN-WEB-RX
(It was produced artificially after this PR's changes to validate them.)

Cross-reference with https://github.com/getsentry/sentry-javascript/blob/master/docs/migration/v7-to-v8.md in regard to minimum supported versions.

@keymanapp-test-bot skip
2025-05-22 14:02:16 +07:00
Darcy Wong
04629414e8 Merge remote-tracking branch 'origin/master' into maint/ios/use-zip-inc 2025-05-22 10:31:33 +07:00
Darcy Wong
4a4277ff5a refactor(common): Add regex for compression level 2025-05-21 08:23:08 +07:00
Darcy Wong
bf27e65d55 maint(common): Convert quiet mode flags for 7z 2025-05-19 14:37:15 +07:00
Darcy Wong
af6faddd5d maint(ios): Cleanup debug echos 2025-05-19 09:42:32 +07:00
Darcy Wong
6e8f961749 maint(ios): Convert some zip flags for 7z 2025-05-19 09:39:03 +07:00
Joshua Horton
9ecb89fba2
Merge pull request #13900 from keymanapp/maint/update-actions-and-octokit
maint: update @actions/github + @octokit references
2025-05-19 08:43:06 +07:00
Darcy Wong
2abb2374a4
Merge pull request #13812 from keymanapp/maint/common/7z-inc-sh
maint(common): Add zip.inc.sh for cross-platform zipping
2025-05-17 13:01:44 +07:00
Darcy Wong
2ba656d89a maint(common): Treat -x@filename as another flag 2025-05-17 12:06:56 +07:00
Darcy Wong
416fa5fa15 maint(common): Add 7z command
7z requires a command so adding `SEVENZ_CMD`
2025-05-16 09:51:43 +07:00
Darcy Wong
45cfd9fb48 chore: remove debug 2025-05-15 14:34:46 +07:00
Darcy Wong
44fd718d6d maint(common): Use -x@filename to exclude files 2025-05-15 14:22:29 +07:00
Darcy Wong
f2245442c6 chore(common): Cleanup script 2025-05-15 09:28:01 +07:00
Darcy Wong
06145a46dd
Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-05-15 09:19:59 +07:00
Darcy Wong
46648078ac maint(android): Handle 7z call 2025-05-14 14:36:18 +07:00
Darcy Wong
271ab0f7aa maint(android): Use file parameter of files to exclude 2025-05-14 13:39:00 +07:00