Commit graph

107 commits

Author SHA1 Message Date
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
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
2134d8a466
change(linux): add link to issue 2025-04-28 16:42:46 +02: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
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
484f596239
chore(linux): remove Ubuntu Mantic, add Oracular
Ubuntu 23.10 Mantic is EOL, Ubuntu 24.10 Oracular will be the next
release.
2024-07-24 09:49:57 +02:00
Marc Durdin
1c5d0c58e6 chore(linux): run deb-package sourcepackage job on Ubuntu 24.04
Ubuntu 22.04 has meson 0.61; 24.04 has meson 1.3, so updated the
sourcepackage step in deb-packaging to 24.04 to meet min reqs.
2024-05-27 15:10:08 +07: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
81957750aa
Merge pull request #10637 from keymanapp/chore/linux/10626_apichecks
chore(linux): Move API verification to separate action
2024-05-21 19:03:36 +02:00
Eberhard Beilharz
696a70d58d
chore(linux): Adjust distros for GHA 2024-05-02 12:07:05 +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
Eberhard Beilharz
4dad3e2ba7
chore(linux): Fix wrong merge
The recent merge from `beta` into `master` introduced a problem when
resolving merge conflicts, resulting in duplicate definition of
`binary_packages_unreleased` which prevents the workflow from loading.
This change rectifies the file.
2024-04-15 11:03:26 +02:00
Darcy Wong
d6ee7f510c Merge remote-tracking branch 'origin/master' into chore/merge-beta-to-master-b17s5 2024-04-12 09:29:23 +07:00
Eberhard Beilharz
2d283d4d13
chore(linux): Show failed job for next Ubuntu version as failed
This change shows failed package builds for the next Ubuntu version
as failed. With the last change it still showed as green in the overview,
despite my experiments. Turns out it depends where you put the
`continue-on-error: true` statement: if it's in the `steps` section
it'll show up green, if you put it in the job's metadata it'll work as
expected and show up as failed.
2024-04-04 16:30:50 +02:00
Eberhard Beilharz
0d7d240584
chore(linux): Sign packages even if build for next Ubuntu fails
We want to run the `deb_signing` job after building binary packages for
both released and unreleased Ubuntu versions finished, so we have to
specify those in the `needs` field. But that on its own causes the
signing job to be skipped if the binary package build for the next
Ubuntu version fails. This change adds conditions so that the
`deb_signing` job always runs if source package build and the binary
package build for the released Ubuntu versions succeeds.
2024-04-04 09:56:47 +02:00
Eberhard Beilharz
774ba9be7c
chore(linux): Revert "Ignore failed package builds for next Ubuntu differently"
This reverts commit 2fe4da7cca.

In my tests in a test repo `continue-on-error` worked as desired but also
seeds the total result as succeeded if the other jobs succeed. It's
possible that we got the behavior we saw because of syntax errors
in our file, so this change tries with the original approach again.
2024-04-03 16:13:45 +02:00
Eberhard Beilharz
2fe4da7cca
chore(linux): Ignore failed package builds for next Ubuntu differently
Previously failed package builds for the next Ubuntu release showed up
with a green check mark. This change allows them to fail, but ignores
them for the following steps.
2024-04-03 11:21:05 +02:00
Eberhard Beilharz
104680b2bd
chore(linux): Update checkout action to v4.1.1 2024-04-03 11:21:04 +02:00
Eberhard Beilharz
239f14597b
chore(linux): Checkout source before building binary packages
Since we use an action that is defined in our source tree we have to
checkout the source before we can build the binary packages.
2024-04-03 11:21:04 +02:00
Eberhard Beilharz
4ac96654ed
chore(linux): Fix typo 2024-04-03 09:06:07 +02:00
Eberhard Beilharz
e07e5ff64a
chore(linux): Fix typo 2024-04-03 09:05:35 +02:00
Eberhard Beilharz
aae25884b5
chore(linux): Build packages for next Ubuntu version separately
This change splits the package builds into building packages for the
released Ubuntu versions and for the next version. A failure to build
packages for the next version will no longer fail the packaging GHA.

Closes #11143.

(cherry picked from commit 043f2c65f5)
2024-04-03 08:55:50 +02:00
Eberhard Beilharz
043f2c65f5
chore(linux): Build packages for next Ubuntu version separately
This change splits the package builds into building packages for the
released Ubuntu versions and for the next version. A failure to build
packages for the next version will no longer fail the packaging GHA.

Closes #11143.
2024-04-02 17:42:41 +02:00
Eberhard Beilharz
59d287a9df
chore(linux): Temporarily disable autopkgtests gha 2024-02-26 19:17:14 +01:00
Eberhard Beilharz
3b37a604dc
fix(linux): Fix autopkgtest gha
- installing missing dependencies
- consider autopkgtest result in final status
2024-02-26 16:27:36 +01:00
Eberhard Beilharz
bc6d8d5515
Merge pull request #10823 from keymanapp/chore/linux/gha-autopkgtest
chore(linux): Add running autopkgtests on GHA
2024-02-26 10:59:16 +01:00
Eberhard Beilharz
501377a5c3
fix(linux): Dynamically get package name
Fixes API verification step in packaging gha.
2024-02-23 15:16:09 +01:00
Eberhard Beilharz
e8e0c1d31f
chore(linux): Add running autopkgtests on GHA 2024-02-23 11:45:26 +01:00
Eberhard Beilharz
9aebb2b41d
chore(linux): Add testbuild info to workflow title
This change adds the `isTestBuild` flag to the workflow title to make
it easier to find the release builds.
2024-02-19 19:26:16 +01:00
Eberhard Beilharz
0b4ade8018
fix(linux): Fix path to artifacts
With the new download-artifact version when using `merge-multiple:true`
all artifacts end up in the same directory. This change adjusts for that.

Another follow-up of #10577.
2024-02-02 12:07:02 +01:00
Eberhard Beilharz
31ef12706e
chore(linux): Fix the path for downloading artifacts
Follow-up of #10577.
2024-02-01 10:37:18 +01:00
Eberhard Beilharz
cb8f68012c
chore(linux): Upgrade artifacts to v4
- Upgrade upload-artifact to v4.3.0
- Upgrade download-artifact to v4.1.1
- Upgrade checkout to v4.1.1
- Upgrade gha-deb-signing to v0.6

Closes #10385.
2024-01-31 16:38:48 +01:00
Eberhard Beilharz
325ab78881
chore(linux): Replace Lunar with Noble
This change removes Ubuntu 23.04 Lunar and adds support for
Ubuntu 24.04 Noble.
2024-01-30 15:40:41 +01:00
Eberhard Beilharz
15d87963b2
chore(core): Ignore C++ symbols
We have a C API, but (internal) C++ template instantiations are visible
and so get flagged by `dpkg-gensymbols`. This change ignores the one
use of C++ by marking it optional. This is listed as a usage scenario
in the dpkg-gensymbols man page.

Note this requires a change how we call dpkg-gensymbols: if the `-O`
parameter is specified, the file is not treated as being a template file
(see man deb-src-symbols) and so the tags are not interpreted.
Additionally the file gets overwritten with the non-tag version. So this
change removes the `-O` parameter, and changes the archiving of the
generated file.
2024-01-15 18:47:53 +01:00
Eberhard Beilharz
30c9aff4ca
chore(linux): fix GHA packaging 2024-01-11 16:16:41 +01:00
Eberhard Beilharz
b5820ffb9e
chore(linux): Output dput exit code after upload to llso
This is an attempt to understand what's going wrong in the gha.
2024-01-10 08:14:15 +01:00
Eberhard Beilharz
9c8566658e
chore(linux): Cleanup tmpfile 2024-01-09 08:47:03 +01:00
Eberhard Beilharz
4aecb28ac4
chore(linux): Retry llso upload
Occasionally name resolution temporarily fails when trying to upload to
llso. This change retries 10 times before giving up.
2024-01-08 15:13:28 +01:00
Darcy Wong
3f213c99d2 chore(common): Specify Keyman repo on GitHub actions 2023-12-11 10:24:30 +07:00
Eberhard Beilharz
afc63278b8
chore(linux): Address code review comments 2023-11-13 18:14:55 +01:00
Eberhard Beilharz
0967e120d3
Merge branch 'master' into chore/linux/9801_coreversion 2023-11-04 21:49:33 +07:00