Commit graph

242 commits

Author SHA1 Message Date
Eberhard Beilharz
34f0c37bf2
maint(linux): skip source verification if script is missing
When building for Keyman 18 we don't have the `verify_source.sh`
script, so the check always fails. With this change we skip the source
verification in this case.

Build-bot: skip
Test-bot: skip
2026-05-20 10:45:31 +02:00
Eberhard Beilharz
711363651b
maint(linux): fix source tarball verification
- fix tarball to include `common/schemas`
- use `*.pkg.tar.xz` for running lintian
- also add 'Linux source verification' to PR status check

Test-bot: skip
2026-05-18 18:18:51 +02:00
Eberhard Beilharz
ede6a3e4e1
chore(linux): revert whitespace-only changes
Addresses code review comment.

Build-bot: skip
Test-bot: skip
2026-05-11 17:53:48 +02:00
Eberhard Beilharz
1f02bc02f6
chore(linux): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
- 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>
2026-05-08 19:11:18 +02:00
Eberhard Beilharz
2c8f878f1d
chore(linux): add verification for source tarball and source package
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
2026-05-06 19:03:12 +02:00
Darcy Wong
c097d5b7d0 fix(common): pin sha versions 2026-03-18 07:32:48 +07:00
Darcy Wong
44a46f5d45 maint(common): Update actions/checkout
* actions/checkout@v6.0.2
2026-03-17 09:31:00 +07:00
Darcy Wong
6c6b620812 maint(common): Update misc actions
* actions/setup-python@v6.2.0
* actions/labeler@v6.0.1
* actions/github-script@v8.0.0
2026-03-17 09:30:07 +07:00
Darcy Wong
b77be4187a maint(common): Update actions/cache/(restore|save)
* actions/cache/restore@v5.0.3
* actions/cache/save@v5.0.3
2026-03-17 09:28:37 +07:00
Darcy Wong
9697e7d886 maint(common): Update actions/(download|upload)-artifact
* download-artifact@v8.0.1
* upload-artifact@v7.0.0
2026-03-17 09:27:24 +07:00
Darcy Wong
6395caa783 maint(common): Update GitHub actions/checkout to v5.0.1 2026-03-17 09:20:00 +07:00
Marc Durdin
22ab6c4025 maint(resources): try meson 1.10.1
Test-bot: skip
2026-03-16 20:33:13 +11:00
Eberhard Beilharz
7102bed1e5
maint(linux): remove EOL Ubuntu 25.04 Plucky
Support for Ubuntu 25.04 Plucky ends on 15th January 2026 after which
it is no longer possible to upload and build on Launchpad. This change
removes Plucky.

Fixes: #14955
Test-bot: skip
2026-01-13 18:04:57 +01:00
Darcy Wong
36d21a6609
Merge pull request #15407 from keymanapp/maint/common/crowdin-cli-4
maint(common): Update `crowdin.yml` to work with Crowdin CLI 4.0+
2026-01-12 08:20:09 +07:00
Eberhard Beilharz
78dc3ae34c
docs(common): document api-verification GHA
Build-bot: skip
Test-bot: skip
2026-01-08 12:55:08 +01:00
Darcy Wong
1eaeabfedb docs(common): Add link to Crowdin project 2026-01-08 15:08:04 +07:00
Darcy Wong
a8ded5339d docs(common): Update Crowdin workflow description 2026-01-08 13:58:25 +07:00
Marc Durdin
92a6bd0c62 maint(resources): add new ARM64 test status check to PR build status check
Build-bot: skip
Test-bot: skip
2026-01-08 16:05:54 +11:00
Marc Durdin
22731fd76f maint(resources): set shell for steps in core-arm64-windows-test.yml
Default shell was powershell due to being a Windows runner.

Test-bot: skip
Build-bot: skip
2025-12-23 06:11:26 +11:00
Marc Durdin
10fe8d85c6 maint(core): fix test runner runs-on
Test-bot: skip
Build-bot: skip
2025-12-22 16:15:53 +11:00
Marc Durdin
f28a082ff4 maint(core): remove leading slash on gh api call parameter
The leading slash was causing cygpath conversion to prepend and convert
the path into a DOS-style path.

Test-bot: skip
Build-bot: skip
2025-12-22 14:37:41 +11:00
Marc Durdin
751fc79014
Merge pull request #14621 from keymanapp/epic/win-arm
epic: ARM support for Windows 🦾
2025-12-22 03:37:22 +01:00
Darcy Wong
707326094c maint(common): Fix crowdin sync version to v2.7.0 2025-12-19 06:09:55 +07:00
Marc Durdin
98cc5e8893 maint(windows): rename action and clarify documentation
Build-bot: skip
2025-12-17 04:46:07 +11:00
Marc Durdin
3048705c9b maint(windows): add GitHub Action for ARM64 test for Keyman Core
Add a GitHub action to test Keyman Core on Windows / ARM64. We do not
have a TeamCity ARM64 agent for this. There are a number of config
challenges in making this work as many deps do not yet support ARM64;
however the changes are isolated to the .yml.

Test-bot: skip
2025-12-16 06:48:25 +11:00
Eberhard Beilharz
6fe3e3e8ba
maint(linux): free disk space before running autopkgtests
Running the autopkgtests during a Ubuntu packaging build GHA recently
started to fail with an out-of-disk-space error. This change removes
some large directories with tools that we don't need for the autopkgtests.

Fixes: #15171
Build-bot: skip
Test-bot: skip
2025-11-14 18:23:49 +01:00
Marc Durdin
8f95d84014
Merge pull request #15114 from keymanapp/maint/resources/builder-timing
maint(resources): add build timing report to builder
2025-11-14 14:24:11 +01:00
Eberhard Beilharz
72da1be22a
chore(linux): use devel for next Ubuntu release
This change moves to use
[`devel`[1]](https://hub.docker.com/_/ubuntu#whats-in-this-image)
instead of a specific release name for the next Ubuntu release. That way
it will always be able to find an image and will automatically start
using the next one as soon as it becomes available.

Build-bot: skip
Test-bot: skip
2025-11-13 16:43:54 +01:00
Eberhard Beilharz
e56619911d
chore(linux): add support for Ubuntu 26.04 LTS Resolute
Build-bot: skip
Test-bot: skip
2025-11-11 11:28:20 +01:00
Marc Durdin
c573709ee6 maint(resources): add build timing report to builder
This is enabled automatically for CI builds, and can be enabled with
`--timing` parameter otherwise. Also, adds `builder_launch`,
documentation to come.

Test-bot: skip
2025-11-10 11:03:45 +01:00
Marc Durdin
eb1babfee1 maint(resources): auto merge on branch name rather than label
In order to avoid a race condition where label can be added after the
GHA starts, we will check the branch name instead of `automerge` label.

Fixes: #15027
Test-bot: skip
Build-bot: skip
2025-10-31 17:31:49 +01:00
Marc Durdin
f29133d0ba maint(resources): set build flags for npm-publish
Test-bot: skip
Build-bot: skip
2025-10-29 12:09:38 +01:00
Marc Durdin
785a745f9b maint(resources): don't report status check on release builds for npm-publish
This matches the pattern from deb-packaging.yml. It would be worth
reviewing why the sha doesn't match up?

Build-bot: skip
Test-bot: skip
2025-10-29 11:38:20 +01:00
Marc Durdin
ba9500826d maint(resources): add npm pack/publish to pr-build-status bot 2025-10-29 10:29:14 +01:00
Marc Durdin
f9b25890b6 maint(resources): add meson and emscripten setup to npm-publish
Also splits the build and publish steps so all packages are built before
first is published, as publishing stomps on package.json files, which
makes subsequent builds trickier.

This needs to be merged to master in order for the action steps to pass.

Build-bot: skip
Test-bot: skip
2025-10-29 10:27:29 +01:00
Marc Durdin
3040c72174 maint(resources): skip nvm in npm-publish script
Test-bot: skip
Build-bot: skip
2025-10-28 15:28:24 +01:00
Marc Durdin
a4779a7f93 maint(resources): add write permission for statuses for npm-publish
Build-bot: skip
Test-bot: skip
2025-10-28 15:04:19 +01:00
Marc Durdin
b582e3c0fb maint(resources): improve reporting of status for npm-publish
Build-bot: skip
2025-10-28 14:14:42 +01:00
Marc Durdin
f1368dd418 maint(resources): rename npm-publish workflow and give detailed title 2025-10-28 13:34:37 +01:00
Marc Durdin
49161075f3 maint(resources): lower case npm 2025-10-28 13:30:57 +01:00
Marc Durdin
0f6b4d52e0 maint(resources): add commit status check for npm-publish
Build-bot: skip release:developer
2025-10-28 13:29:40 +01:00
Marc Durdin
844219f2cb maint(resources): set env variables in npm publish GHA
Test-bot: skip
Build-bot: skip
2025-10-28 11:14:22 +01:00
Marc Durdin
794faedbde maint(resources): remove gh status check for npm-publish
Build-bot: skip
2025-10-28 09:00:40 +01:00
Marc Durdin
fe484826ac maint(resources): use a string for version, rather than number
Test-bot: skip
Build-bot: skip
2025-10-28 08:59:27 +01:00
Marc Durdin
971d67e266 maint(resources): use actions/setup-node to upgrade npm
We don't have permissions to use `npm install --global npm` to get a
specific version, but this action is supported by GH so should be fine.

It remains to be seen if there will be other compatibility issues due to
being a later version of Node than what we are using in v19.

Build-bot: skip
Test-bot: skip
2025-10-28 08:12:15 +01:00
Marc Durdin
ba411774f6 maint(resources): move NPM package publishing to GitHub Actions
Due to recent changes in NPM package publishing security requirements,
we have to move from TeamCity build to a GitHub Action to publish our
NPM packages, so we can take advantage of trusted publishing. This
change also consolidates and centralizes the npm publishing into
resources/build/ci/npm-publish.sh, which removes a lot of boilerplate
from each of the build.sh scripts, and ensures consistency.

Packages will be `npm pack`ed on PR and test builds, and published in
release builds.

Ref: https://docs.npmjs.com/trusted-publishers
Ref: https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/
Fixes: #14963
Test-bot: skip
Build-bot: release:developer
2025-10-27 16:31:55 +01:00
Markus Greiner
b8007beedc fix(common): registry clean-up enabled, no terminal in github action
No longer dryrun for the registry clean-up GHA workflow
docker run doesn't use a terminl (erasing -t flag)

Test-bot: skip
Build-bot: skip
2025-09-24 17:24:16 +02:00
Eberhard Beilharz
d699610375
Merge pull request #14749 from keymanapp/maint/linux/pkgbuild
By default we skip package builds if run on a non-Keyman repo. This makes it harder to test changes, so this PR allows to pass the parameter `force: true` when triggering the build.
2025-09-17 09:51:25 +02:00
Eberhard Beilharz
281c37c3d0
maint(linux): address code review comments 2025-09-15 15:47:01 +02:00
Markus Greiner
45abfe3c2e fix(common): using correct token
Test-bot: skip
Build-bot: skip
2025-09-15 11:28:59 +02:00