Commit graph

34 commits

Author SHA1 Message Date
Eberhard Beilharz
83e9501b65
maint(linux): show output of API check also in log file
Previously the output of running the API check was only shown on the
summary page, but not in the log file of the step. With this change it
is now also displayed in the log file.

Build-bot: skip
Test-bot: skip
2026-06-29 12:46:27 +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
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
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
Eberhard Beilharz
7ab1f8d4f8
maint(linux): update GHA dependencies for Linux package builds 2025-05-16 17:29:37 +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
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
044256f291
chore(linux): improve output if dpkg-gensymbols fails and run other tests 2024-10-10 11:59:19 +02:00
Eberhard Beilharz
c4cebd124b
chore(linux): Improve output of API Verification
- remove useless branch name from name (this is always `master` due to
  the way the workflow gets triggered)
- add PR# to step summary so that it's visible on the Summary page
- fix PR check message to say "API verification" instead of "Package build"
2024-10-09 20:32:55 +02:00
Eberhard Beilharz
14fff2d0a4
chore(linux): display branch name with API verification
This change adds the branch name to the API verification workflow so that
it's easier to see which run belongs to which PR or branch build.
2024-09-27 12:54:16 +02:00
Eberhard Beilharz
c562d889a4
fix(linux): remove debug output and re-enable failures 2024-06-05 09:27:05 +02:00
Eberhard Beilharz
b413b3e0dd
fix(linux): specify path with package name 2024-06-05 08:03:21 +02:00
Eberhard Beilharz
9855bb3941
fix(linux): try a different way 2024-06-04 19:48:25 +02:00
Eberhard Beilharz
7abbaac740
fix(linux): more debug output 2024-06-04 17:21:16 +02:00
Eberhard Beilharz
410d1ee96a
fix(linux): add debug output 2024-06-03 17:14:30 +02:00
Eberhard Beilharz
aca8bf1aaf
fix(linux): match digit in package filename
The previous wildcard was too broad and matched on `libkeymancore-dev`
which is missing the API version number in the filename. This change
requires a digit after the name.
2024-06-03 16:51:09 +02:00
Eberhard Beilharz
7c2adf60c2
fix(linux): don't escape wildcard for package filename 2024-06-03 14:56:44 +02:00
Eberhard Beilharz
310ded91bd
fix(linux): include api version as part of package filename
The package name contains the API version. This change allows for that.
2024-06-03 13:09:50 +02:00
Eberhard Beilharz
74c2b4c287
fix(linux): remove debug code 2024-06-03 13:08:12 +02:00
Eberhard Beilharz
e947dbc519
fix(linux): restore of artifacts still needs to be in same job
This change reverts #11659 and moves setting the environment and
restoring the artifacts in the same job as the actual API verification.
It keeps checking out the git files to a separate directory.
2024-06-03 12:07:16 +02:00
Eberhard Beilharz
adf2c9b82f
fix(linux): paths in uses: can't use variables 2024-06-03 11:16:36 +02:00
Eberhard Beilharz
a858f63c8e
fix(linux): move environment to separate job and checkout to separate dir
In #11571 we tried to fix the failing API verification by moving
setting up the environment and restoring artifacts to the same job
as the api verification itself. However, this doesn't help and the
`artifacts` subdirectory still vanishes, caused by
https://github.com/actions/checkout/issues/1201.

This change reverts the change introduced in #11571 and changes the
git checkout to end in a separate subdirectory.

Reverts: #11571
2024-06-03 11:10:46 +02:00
Eberhard Beilharz
1ec7604f61
chore(linux): More debugging of API verification 2024-05-31 21:15:56 +02:00
Eberhard Beilharz
4d4b10fc95
fix(linux): Don't clean workdir after checkout in API verification
Set the option for the Checkout step to not  run `git clean` after checkout
because that gets rid of the artifacts we previously restored.
2024-05-28 16:32:05 +02:00
Eberhard Beilharz
32bc9e7833
fix(linux): Restore artifacts for API verification in the correct job
Previously we had an extra job where we setup the environment and
restored the artifacts. However, the artifacts then were no longer
available in the next job, `api_verification`. Instead of restoring
the artifacts a second time this change squashes the two jobs. This will
hopefully fix the API verification.
2024-05-27 19:18:11 +02:00
Eberhard Beilharz
8ae5090e6c
fix(linux): Ignore API verification check until it is working
This temporary change will always set the result to SUCCESS so as not
to block PRs. Once we get the API verification working we should undo
these changes again.
2024-05-27 15:06:40 +02:00
Eberhard Beilharz
7b753241b1
chore(linux): Debugging API verification
Something is still not right. It looks like it can't find the files it
is expecting. This change lists the files we have.
2024-05-24 19:12:08 +02:00
Eberhard Beilharz
6b2437e8a3
fix(linux): Properly use and pass run_id
The previous attempt where we set a environment variable for the
artifacts key resulted in a chicken/egg problem: we needed the environment
variable to be able to restore the cached artifacts, but we needed
the cached artifacts in order to be able to read the variables...

This change now properly uses run_id: in `deb-packaging.yml` we can
directly use `run_id` from the context. In `api-verification.yml` we get
it from the payload context.

Cf https://docs.github.com/en/webhooks/webhook-events-and-payloads#workflow_run
2024-05-24 16:14:52 +02:00
Eberhard Beilharz
f95ee27288
fix(linux): Pass artifacts key to API verification GHA 2024-05-23 16:21:55 +02:00
Eberhard Beilharz
89d3027f73
fix(linux): Add missing variable to API verification GHA 2024-05-23 08:28:33 +02:00
Eberhard Beilharz
414a120bb2
chore(linux): Move API verification to separate action
The new `api-verification` workflow runs after `deb-packaging`.

Implements #10626.
2024-04-23 15:10:36 +02:00