Commit graph

222 commits

Author SHA1 Message Date
Marc Durdin
cfd28a29c3 maint(resources): gh pr merge requires merge flag in auto-merge GHA
"--merge, --rebase, or --squash required when not running interactively"

Follows: #14524
Test-bot: skip
Build-bot: skip
2025-08-14 09:28:29 +02:00
Marc Durdin
f83730d9b5 maint(resources): spec keymanapp/keyman for gh in automerge
Follows: #14522
Test-bot: skip
Build-bot: skip
2025-08-14 06:02:29 +02:00
Marc Durdin
bd813da864 maint(resources): use GH_TOKEN variable for gh calls
Build-bot: skip
Test-bot: skip
Follows: #14519
Relates-to: #14521
2025-08-14 05:08:19 +02:00
Marc Durdin
44198d176b maint(resources): use GH builtin automerge for auto PRs
Test-bot: skip
Build-bot: skip
Follows: #14504
2025-08-14 04:56:39 +02:00
Marc Durdin
47bfdd341f
Merge pull request #14504 from keymanapp/maint/resources/14502-auto-merge-approve-prep
maint(resources): add build-bot commands to increment-version auto PRs
2025-08-14 09:29:26 +07:00
Marc Durdin
d09ceccc67 maint(linux): import only one of builder-basic and build-utils in deb-packaging
Fixes: #14512
Test-bot: skip
Build-bot: build
2025-08-13 05:06:39 +02:00
Marc Durdin
f74ffb6146 maint(resources): add build-bot commands to increment-version auto PRs
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
2025-08-12 05:07:23 +02:00
Marc Durdin
70fe13b7d0 maint(linux): source build-utils.sh for down-version support in deb-packaging.yml
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
2025-08-02 10:00:15 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
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
2025-08-02 08:11:24 +10:00
Eberhard Beilharz
6b61ea49a7
maint(linux): on GHA packaging remove Oracular, add Questing
Remove EOL Ubuntu 24.10 Oracular, add Ubuntu 25.10 Questing.

Test-bot: skip
2025-07-09 11:04:06 +02:00
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
d49bc2efdb chore(resources): remove redundant comments 2025-06-24 08:51:12 +10:00
Marc Durdin
876fa29df8 chore(resources): temporarily test GHA on push to current branch 2025-06-19 07:37:48 +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
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
Eberhard Beilharz
ea6bd736ca
maint(linux): update to new version of gha-ubuntu-packaging
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
2025-06-02 09:20:17 +02:00
Eberhard Beilharz
f74cbde633
maint(linux): update to new version of gha-ubuntu-packaging
Version 2.0 of gha-ubuntu-packaging retries 5 times to install the
packages, so hopefully this will improve the reliability.

Test-bot: skip
2025-05-30 21:18:16 +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
4d5c09aa36
maint(common): tweaks to labels
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
2025-05-27 12:28:56 +02:00
Eberhard Beilharz
7ab1f8d4f8
maint(linux): update GHA dependencies for Linux package builds 2025-05-16 17:29:37 +02:00
Eberhard Beilharz
72af6ffe9a
maint(linux): don't include dockerbuild log files
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
2025-05-16 17:27:57 +02:00
Eberhard Beilharz
2fa0e25f45
maint(linux): update gha-ubuntu-packaging dependency
This updates the `gha-ubuntu-packaging` dependency which itself updates
some dependencies and so hopefully eliminatese some confusing warnings.
2025-05-16 16:26:04 +02:00
Eberhard Beilharz
374502479b
maint(linux): properly fallback to VERSION in deb-packaging
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
2025-05-16 16:08:59 +02:00
Eberhard Beilharz
7ede450816
fix(linux): fallback to VERSION if KEYMAN_VERSION isn't set
This allows to build packages for Keyman 18 without having to backport
the change that renames `VERSION` → `KEYMAN_VERSION`.
2025-05-12 18:01:09 +02:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
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
2025-05-07 18:46:51 +02:00
Eberhard Beilharz
82cb949289
Merge pull request #13778 from keymanapp/change/linux/linkissue 2025-04-29 09:03:06 +02:00
Marc Durdin
42cbe1f988
Merge pull request #13780 from keymanapp/maint/common/labels
chore(common): rename `chore` GH label to `maint`
2025-04-29 11:16:14 +07:00
Marc Durdin
2dc14c8f7a
Merge pull request #13765 from keymanapp/chore/labeler-for-19-round-two
chore: additional tweaks to scopes/labels
2025-04-29 11:07:50 +07:00
Eberhard Beilharz
8a37b5f5b0
chore(common): rename chore GH label to maint
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.
2025-04-28 18:30:54 +02:00
Eberhard Beilharz
2134d8a466
change(linux): add link to issue 2025-04-28 16:42:46 +02:00
Darcy Wong
809e7bb66e chore(common): Update dependencies in crowdin GitHub action 2025-04-28 16:42:49 +07:00
Marc Durdin
b8cef28538 chore: additional tweaks to scopes/labels 2025-04-28 09:21:12 +07:00
Marc Durdin
784b366b69 chore: update labels for v19
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.
2025-04-24 18:44:25 +07:00
Eberhard Beilharz
1b24e57c7d
chore(linux): add comment explaining filename
Addresses code review comment.
2025-03-19 16:10:06 +01:00
Eberhard Beilharz
2b6cf97af8
chore(linux): rename "Debian packaging" to "Ubuntu packaging"
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
2025-03-17 17:52:18 +01:00
Eberhard Beilharz
7dfeaa7099
Update .github/ISSUE_TEMPLATE/bug_report.yml
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-03-07 17:08:31 +01:00
Eberhard Beilharz
1720328076
chore(linux): add link to fcitx5 issues to bug issue template
Per suggestion of fcitx5 maintainer this adds a link to fcitx5 issues
to the bug issue template.

See https://github.com/fcitx/fcitx5-keyman/issues/10#issuecomment-2704620889.
2025-03-07 10:42:18 +01:00
Marc Durdin
4839290921 chore: use sha instead of version for security 2025-02-27 17:40:51 +01:00
Marc Durdin
93d4828595 chore: add a workflow to automatically close linked issues 2025-02-27 17:40:50 +01:00
Eberhard Beilharz
b76bfc9b8a
fix(linux): add missing dependency for uploading to llso 2025-02-19 09:03:48 +01:00
Eberhard Beilharz
07d46b691b
Merge pull request #13202 from keymanapp/chore/linux/remove-focal
chore(linux): remove support of Ubuntu 20.04 Focal
2025-02-12 17:45:18 +01:00
Eberhard Beilharz
de79efb8fb
chore(linux): update actions/cache to non-deprecated version
Our previous version of actions/cache will stop working at the end of
February. This change updates to the latest version.

https://github.com/actions/cache/discussions/1510
2025-02-11 19:56:19 +01:00
Eberhard Beilharz
af3756dd92
chore(linux): remove support of Ubuntu 20.04 Focal
Ubuntu 20.04 Focal will reach EOL in April and GitHub removes the
runner images, so we no longer will be able to build packages for Focal.
2025-02-11 19:24:22 +01:00
Eberhard Beilharz
34e314fdc9
chore(linux): add support for Ubuntu 25.04 Plucky Puffin
This change adds support for Plucky when building for llso/pso.
#12614 already added support when building on Launchpad.
2024-11-14 19:31:53 +01:00
Eberhard Beilharz
044256f291
chore(linux): improve output if dpkg-gensymbols fails and run other tests 2024-10-10 11:59:19 +02:00