Commit graph

196 commits

Author SHA1 Message Date
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
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
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
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