Commit graph

265 commits

Author SHA1 Message Date
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
Markus Greiner
bf403b82b8 fix(common): correct comment 2025-09-15 10:49:35 +02:00
Markus Greiner
053ec0a5b9 fix(common): adding two lines for better readability 2025-09-15 10:47:29 +02:00
Markus Greiner
00d24effd3 fix(common): enabling manual start by adding workflow_dispatch
adding token usage to the GitHub delete action

Test-bot: skip
Build-bot: skip
2025-09-15 10:40:25 +02:00
Markus Greiner
5c947091ae fix(common): add name for cleanup ghcr
renaming workflow filename

Test-bot: skip
Build-bot: skip
2025-09-12 22:06:54 +02:00
Eberhard Beilharz
43bcd92602
maint(linux): enable autopkgtests during package build
This enables running `autopkgtests` during a package build.

Fixes: #13777
Test-bot: skip
2025-09-12 18:35:43 +02:00
Eberhard Beilharz
37854e6302
maint(linux): allow to force package build on non-Keyman repo
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-12 18:27:37 +02:00
Markus Greiner
e6234d076a fix: build and push now in one job in the build, test, publish Docker images workflow
By default the local image registry is not available from different jobs.
Uploading and downloading the images to transfer them between the jobs
seems to be an extra effort not being worth it.

Relates-To: #13594
Test-bot: skip
Build-bot: skip
2025-09-12 13:15:10 +02:00
Marc Durdin
293dbb83e9 fix(resources): match cr to lf change in pr-build-status.mjs
Follows: #14732
Build-bot: skip
Test-bot: skip
2025-09-11 14:59:51 +02:00
Marc Durdin
c1782234df
Update .github/workflows/pr-build-status.yml 2025-09-11 14:50:10 +02:00
Marc Durdin
6d6cc36c8f fix(resources): add more logging for build-status 2025-09-11 13:25:45 +02:00
Marc Durdin
7e3925ebfc fix(resources): always pass summary through
Fixes: #14731
2025-09-11 13:18:43 +02:00
Marc Durdin
6b4a0af5c4 chore: test failing summary check 2025-09-11 13:15:42 +02:00
Marc Durdin
1433f15506 fix(resources): pr build status - find 'failure' state in status checks and log
Fixes: #14731
Build-bot: skip
Test-bot: skip
2025-09-11 12:59:16 +02:00
Markus Greiner
1cf644a0b8
Merge pull request #14674 from keymanapp/maint/common/13954-create-gha-for-docker-images
maint(resources): adding GitHub actions workflow for Docker builds
2025-09-10 10:01:36 +02:00
Markus Greiner
fa830f0261
Update .github/workflows/delete-build-containers.yml
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-09-09 21:25:59 +02:00
Markus Greiner
33846f6086 maint(resources): adding names to jobs and ids to steps, setting bash as default shell
Part-of: #13594
Test-bot: skip
Build-bot: skip
2025-09-09 10:24:07 +02:00
Markus Greiner
0f8ea18c20 fixing typo
Part-of: #13594
Test-bot: skip
Build-bot: skip
2025-09-08 18:10:51 +02:00
Markus Greiner
535f7aa153 maint(resources): added trigger for Docker images build, pubish, test
moving example script to readme file
adding delete job for container images in ghcr

Part-of: #13594
Test-bot: skip
Build-bot: skip
2025-09-08 17:28:11 +02:00
Markus Greiner
cd10869579 fix(resources) #19354 correcting if clause 2025-09-08 15:26:44 +02:00
Markus Greiner
3e7e9e2664 #13954 cleang-up workfow file 2025-09-08 15:26:44 +02:00
Markus Greiner
f8f6626f55 main(resources): #13954 adding GitHub actions workflow for Docker builds
Test-bot: skip
Build-bot: skip
2025-09-08 15:26:44 +02:00
Eberhard Beilharz
612cd01743
maint(linux): allow to skip API check
This change adds an option to skip the API checks during a build.
This can be done by adding the trailer `Keyman-Api-Check: skip`
to the PR description.

Fixes: #10454
Test-bot: skip
Keyman-Api-Check: skip
2025-09-05 19:04:23 +02:00
Marc Durdin
7390cc66aa maint(resources): move build trigger scripts into resources/teamcity
This also removes the need to have a test for `-b` parameter in
trigger-test-builds.sh, because the TC scripts calling this can already
factor that in.

Testing script trigger so only do builds of common to verify

Fixes: #14483
Test-bot: skip
Build-bot: skip:all build:common
2025-08-27 07:28:24 +02:00
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