Commit graph

301 commits

Author SHA1 Message Date
Eberhard Beilharz
ac0f424aa0
maint(linux): ignore unnecessary files from source package 2025-05-13 20:07:33 +02:00
Eberhard Beilharz
bd7470fc0e
maint(linux): improve getting PR# in upload-to-debian.sh
With this change we wait two seconds after creating the PR before trying
to get the number of the PR so that GitHub can catch up. Previously
recently it wasn't able to get the PR#.

Also adjust the commit message and use the new header for skipping tests.
2025-05-12 16:41:38 +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
f2747be553
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:25:04 +01:00
Eberhard Beilharz
b1427f34f4
fix(linux): remove unnecessary files from source tarball
PR #12642 tried to fix creating the source tarball so that it didn't
ignore files we need. However, that now included way to many files.
This change fixes this and results in a smaller tarball again.

Fixes: #13010
2025-01-27 16:56:41 +01:00
Eberhard Beilharz
7010e41b48
docs(linux): add documentation comments 2024-12-11 09:15:52 +01:00
Eberhard Beilharz
7f71b128c2
chore(linux): remove unnecessary line from changelog
According to a comment on the latest upload to mentors.debian.org we
don't have to add the line "Re-release to Debian", so this change
removes this.
2024-12-11 09:00:06 +01:00
Eberhard Beilharz
bbf8acbda9
fix(linux): pushing of updated changelog branch
This fixes the `upload-to-debian.sh` script if the `chore/linux/changelog`
branch was created a while back while the base branch moved in the
meantime. In this case we have to use `--force` instead of
`--force-with-lease` otherwise `git` gets confused. This is save to do
since the intention is that we replace the previous commit and we know
that there is (should be) only one commit on the `chore/linux/changelog`
branch.
2024-12-10 17:23:43 +01:00
Marc Durdin
0d42160bc9 chore(core): avoid skipping docs folder in linux dist.sh
Unfortunately dpkg-source can only list files to exclude, not files to
include, which makes it fragile to changes in other platforms. The list
previously included 'docs', and as I renamed /core/doc to /core/docs to
match the other platforms, that caused it to be excluded. Changing it to
'./docs' should hopefully only match the top-level folder.

At the same time, updated many other top-level folder matches.
2024-11-08 05:24:47 +07:00
Eberhard Beilharz
f6b8ce010a
chore(linux): add support for Ubuntu 25.04 Plucky Puffin
With this change we will also build and provide binaries on Launchpad
for the next Ubuntu release, 25.04 Plucky Puffin.
2024-11-04 18:21:45 +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
e5c1f81037
fix(linux): fix problem with API checks with merge commits
This change fixes a problem if both `master` and a branch added the same
symbol with different version numbers. This causes a merge conflict which
previously caused the API checks to output an error. However, if the
version number in the .symbols file got updated since the base then
it's no error which this change implements.
2024-10-09 19:35:41 +02:00
Eberhard Beilharz
13caa2e074
refactor(linux): move API verification functions to separate file
This will make it easier to unit test individual functions.
2024-10-09 16:56:10 +02:00
Eberhard Beilharz
2184749a33
chore(linux): allow to skip API change
When running locally it might be beneficial to be able run the API
verification checks without having to build a binary package. This
change allows to omit the `--bin-pkg` parameter and outputs a warning
instead if it's missing.
2024-10-09 15:53:31 +02:00
Marc Durdin
0e5fbb225d refactor(common): fixup help path script references
Relates-to: #12347
2024-09-16 06:19:14 +07:00
Eberhard Beilharz
b9aa9ccd8c
refactor(web): move predictive-textworker-main
This moves `common/predictive-text/` →
`web/src/engine/predictive-text/worker-main/`.

This also moves `common/test/predictive-text/` →
`web/src/test/manual/predictive-text/`. Note though that this testing
tool is still broken.

Fixes: #12134
2024-08-15 12:26:50 +02:00
Eberhard Beilharz
4516c9d8df
change(linux): improve changelog PRs after upload to debian
Mention original PR in the body of the cherry-pick PR.
2024-07-25 16:50:38 +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
f0d365e4b8
chore(linux): remove unused building with pbuilder
We no longer build with pbuilder/cowbuilder, so this change removes
that unnecessary code. This also changes the `deb.sh` script which no
longer needs parameters since it's only purpose is now to build the
source package, and removes the no-longer needed targets from `Makefile`.

This solves #9356 as good as possible. We still have the list of
distributions in two places, but I don't see a way to import the list
of distributions to the packaging GHA.

Fixes: #9356
2024-06-24 18:37:10 +02:00
Eberhard Beilharz
d52de2d878
docs(linux): Update description of deb-packaging.sh 2024-06-04 16:38:11 +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
e9398133fc
chore(linux): Install python3-dev
On a new machine we need to install python3-dev so that we can access
`Python.h`. It shouldn't be in `debian/control`, so we put in our
script where we check the requirements.
2024-04-24 18:38:40 +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
b01a76b809
Merge pull request #10800 from keymanapp/chore/linux/lintian
chore(linux): Address comments from Debian mailing list
2024-02-23 09:23:58 +01:00
Eberhard Beilharz
5480b6fce0
Merge pull request #10813 from keymanapp/chore/linux/verifyapi
chore(linux): Fix API verification after adding SONAME
2024-02-23 09:23:36 +01:00
Eberhard Beilharz
b747a60040
chore(linux): Install quilt on GHA runner
In order to be able to create the source package we need quilt.
However, this is not needed to create the binary package and so it is
not considered a build dependency belonging to build-depends.
This change installs quilt on the GHA runner before building the source
package.
2024-02-22 17:55:10 +01:00
Eberhard Beilharz
8177180b48
chore(linux): Fix API verification after adding SONAME
Due to Debian policy the libkeymancore package will now include
the SONAME (API version number) in the package name (PR #10800). This
change adjusts the API verification checks to be able to cope with
the modified .symbols file.
2024-02-22 17:25:52 +01:00
Eberhard Beilharz
a886f2e93d
chore(linux): Be more explicit what to deploy
- Add new `--stable` and `--beta` parameters to be more explicit about
  what to deploy
- Restore current branch at the end
- Output PR# if PR already exists
2024-02-22 14:53:00 +01:00
Eberhard Beilharz
e9c1a9b46f
chore(linux): Ignore existing PRs
Don't try (and fail) to create the PR if it already exists. Instead
simply skip this step because the PR will already be updated by the
`git push`.
2024-02-20 15:32:23 +01:00
Eberhard Beilharz
55f2dbfc19
chore(linux): Unnecessary to checkout stable branch for beta releases 2024-02-20 11:27:13 +01:00
Eberhard Beilharz
d6d0b40fa5
chore(linux): Fix upload-to-debian.sh script for beta releases 2024-02-20 11:21:45 +01:00
Eberhard Beilharz
eb862915e4
Merge pull request #10772 from keymanapp/chore/linux/debian
chore(linux): Fix `debian.sh` by removing quotes
2024-02-20 08:49:31 +01:00
Eberhard Beilharz
1834c55e52
chore(linux): Fix debian.sh by removing quotes
We want `EXTRA_ARGS` to be split so that we end up with different
arguments.
2024-02-19 19:41:16 +01:00
Eberhard Beilharz
a8543892eb
chore(linux): Move cat-file to wrapper methods
This addresses suggestions from code review.
2024-02-19 16:34:13 +01:00
Eberhard Beilharz
4079b1be12
chore(linux): Improve readability of test names
This change adds an additional underscore between the tested method name
and the description of the test.
2024-02-19 15:25:15 +01:00
Eberhard Beilharz
b5c2edd52b
refactor(linux): Use git cat-file instead of checkout
Addresses code review comments.
2024-02-09 15:45:08 +01:00
Eberhard Beilharz
1348afbe07
chore(linux): Add tests for renamed .symbols file 2024-02-09 15:45:08 +01:00
Eberhard Beilharz
426bc52404
chore(linux): Ignore missing .symbols file in stable branch
This fixes a bug in the API verification if the stable branch doesn't
have the expected .symbols file.
2024-02-08 10:21:19 +01:00
Eberhard Beilharz
883b9fc4c8
chore(linux): Fix API check if lines got removed in .symbols file
If lines got removed in the .symbols file we won't find the current
version number in the .symbols file. This change fixes the expectations.

Also, if a major API change happens during the Alpha cycle we don't expect
another API version increment if one already happened since we released
the stable version.

This change also adds some unit tests for the new functionality. These
can be run manually and won't run during CI builds.

Fixes #10453.
2024-02-02 20:15:22 +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
5badb17d4a
chore(linux): reduce number of checkouts
Addresses code review comment.
2023-11-14 10:26:29 +01: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
Eberhard Beilharz
33eae05cb0
Merge branch 'master' into fix/linux/9878_fixpkgenv 2023-11-04 21:35:52 +07:00
Eberhard Beilharz
6adfa8a9cf
fix(linux): Fix environment for Debian packages
When didn't set the correct environment when building Debian packages
with GitHub actions. The version information wasn't included in the
source file but instead was generated at binary package build time,
at which time not all necessary environment variables were available.
This change will create a patch file on-the-fly which gets
included in the source package that contains the correct information.

Fixes #9878.
2023-11-02 22:18:02 +07:00
Eberhard Beilharz
30250e3d8d
chore(linux): Enhance GHA API check
This change adds additional checks for the symbols file:

- if a line with a method name gets changed, the package version number
  in that line also needs to be updated
- for major API changes (methods renamed or removed) the API version
  numbers needs to be incremented
- the API version numbers in the .symbols file and in `CORE_API_VERSION.md`
  need to match
2023-10-26 18:04:43 +02:00
Eberhard Beilharz
9257750bb8
chore(linux): Refactor deb-packaging.sh script
Make use of builder_run_action.
2023-10-26 17:16:06 +02:00
Eberhard Beilharz
2e5e586860
chore(linux): Rename libkmnkbp0-0 package
Also removes the temporary libkeymancore/libkmnkbp hack that we put in
for packaging GHA.

Closes #9733.
2023-10-20 17:31:39 +02:00
Eberhard Beilharz
c0bef2581d
chore(linux): Fix build by adding one character 2023-10-20 17:15:41 +02:00