Commit graph

145 commits

Author SHA1 Message Date
Eberhard Beilharz
007e82f47a
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
Cherry-pick-of: #15423
Test-bot: skip
2026-01-13 18:12:15 +01:00
Marc Durdin
57a50ba7a1 maint(resources): cherry-pick changes to npm-publish scripts
This commit collects all changes to npm-publish.yml and npm-publish.sh,
from the series of PRs associated with PR #15029.
2025-10-30 07:11:41 +01:00
Marc Durdin
bb32cecea7 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
Cherry-pick-of: #15029
2025-10-30 07:03:14 +01:00
Eberhard Beilharz
456096cb63
maint(linux): remove Oracular, add Questing 🍒
Remove EOL Ubuntu 24.10 Oracular, add Ubuntu 25.10 Questing.

Cherry-pick-of: #14319
Build-bot: skip
Test-bot: skip
2025-09-18 10:10:15 +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
Marc Durdin
4839290921 chore: use sha instead of version for security 2025-02-27 17:40:51 +01:00
Marc Durdin
93d4828595 chore: add a workflow to automatically close linked issues 2025-02-27 17:40:50 +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
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
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
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
710567590f
Merge pull request #11536 from keymanapp/fix/linux/apiverification
chore(linux): Debugging API verification
2024-05-27 15:31:57 +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
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
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
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