91 Commits

Author SHA1 Message Date
dependabot[bot]
dad351539a ci: bump the all-actions group across 1 directory with 6 updates
Bumps the all-actions group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.2.2` | `6.0.1` |
| [yshui/git-clang-format-lint](https://github.com/yshui/git-clang-format-lint) | `1.17` | `1.18` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.28.18` | `4.31.9` |
| [codespell-project/actions-codespell](https://github.com/codespell-project/actions-codespell) | `2.1` | `2.2` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.4.3` | `5.5.2` |
| [peter-evans/repository-dispatch](https://github.com/peter-evans/repository-dispatch) | `3` | `4` |

Updates `actions/checkout` from 4.2.2 to 6.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](11bd71901b...8e8c483db8)

Updates `yshui/git-clang-format-lint` from 1.17 to 1.18
- [Release notes](https://github.com/yshui/git-clang-format-lint/releases)
- [Commits](27f3890c66...0758f498e5)

Updates `github/codeql-action` from 3.28.18 to 4.31.9
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](ff0a06e83c...5d4e8d1aca)

Updates `codespell-project/actions-codespell` from 2.1 to 2.2
- [Release notes](https://github.com/codespell-project/actions-codespell/releases)
- [Commits](406322ec52...8f01853be1)

Updates `codecov/codecov-action` from 5.4.3 to 5.5.2
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](18283e04ce...671740ac38)

Updates `peter-evans/repository-dispatch` from 3 to 4
- [Release notes](https://github.com/peter-evans/repository-dispatch/releases)
- [Commits](https://github.com/peter-evans/repository-dispatch/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
- dependency-name: yshui/git-clang-format-lint
  dependency-version: '1.18'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
- dependency-name: github/codeql-action
  dependency-version: 4.31.9
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
- dependency-name: codespell-project/actions-codespell
  dependency-version: '2.2'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
- dependency-name: codecov/codecov-action
  dependency-version: 5.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
- dependency-name: peter-evans/repository-dispatch
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Lucas De Marchi <demarchi@kernel.org>
2026-01-16 01:31:35 -06:00
Lucas De Marchi
23bb264d0b ci: Fix alpine setup
linux-edge-dev is failing in alpine:

	ERROR: unable to select packages:
	  linux-edge-dev (no such package):
	    required by: world[linux-edge-dev]
	Error: Process completed with exit code 1.

Use linux-stable instead.

Signed-off-by: Lucas De Marchi <demarchi@kernel.org>
2026-01-16 01:16:53 -06:00
Emil Velikov
a403590f6e ci: swap bullseye for bookworm
The former has been EOL for a bit now and somewhat recently has been
(re)moved from the repos -> our CI was failing.

Swap for bookworm, which gives us the "try a slightly older distro"
coverage, while still being green in CI.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/395
Signed-off-by: Lucas De Marchi <demarchi@kernel.org>
2025-10-26 22:37:54 -05:00
Lucas De Marchi
d449664485 ci: Use KDIR=any
Drop .github/print-kdir.sh and just use KDIR=any to handle the kernel
headers.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/384
2025-07-07 11:07:41 -05:00
Emil Velikov
ec0f261ac3 ci: move compression variants further down
Move the variants into their own section, similar to the moduledir and
co. This bears no functional change in the CI run.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/383
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-27 15:22:56 -05:00
Emil Velikov
75a1e9348d ci: remove default options from Debian/bullseye build
Both -Dopenssl=enabled and -Dtools=true are the default. Omit them from
the meson_setup.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/383
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-27 15:22:56 -05:00
Emil Velikov
12f1b539ff ci: 'temporary' disable sanitizers for 32bit builds
Currently running 32bit tests alongside sanitizers, segfaults due to our
syscall wrapper. Just disable the sanitizers, which means we get at
least some 32bit test coverage.

On a couple of attempts, I wasn't able to get a proper/robust solution,
as outlined in init_module.c - we need vsyscall() which does not exist.

Considering some distributions are dropping 32bit/i686 support, it may
be that we'll nuke these builds from CI sooner than later.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/383
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-27 15:22:56 -05:00
Emil Velikov
e097873146 ci: remove Alpine -Ddocs=false WA
A while ago the Alpine gtk-doc tool chain was having issues building our
docs. That got resolved at some point over the past months, so we can
drop this local workaround.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/373
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-16 07:36:10 -05:00
Emil Velikov
59b46aa53c ci: fold gcc/clang combinations together
Instead of listing each combination on per-compiler basis, assume we
want both unless annotated otherwise.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/362
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-05 01:39:11 -05:00
Emil Velikov
6fb90b231d ci: fold 32 and 64 bit jobs together
We currently construct a single container for each distro, which is
capable of running both 32 and 64 bit builds.

In addition, since we're meson only (which allows only out-of-tree
builds) we can do multiple builds for a given checkout.

As result we hammer the docker registry and distribution/package servers
a bit less.

Notes:
 - 32bit distcheck is disabled - not particularly interesting
 - 32bit tests are disabled for everyone - they are consistently failing

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/362
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-05 01:39:11 -05:00
Emil Velikov
b3bb011439 ci: install and use bash across the board
The upcoming CI rework will hard depend on some bash constructs. While
theoretically possible to make them dash compliant, I'm not sure it's
worth the effort. Just install bash and carry on.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/362
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-05 01:39:11 -05:00
Emil Velikov
260949d87b ci: use meson bla -C builddir/
Use builddir/ as indicated in our README, which makes it obvious that
what the argument is. While there, remove a few instances of mkdir/cd -
meson and ninja can handle it themselves.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/362
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-05 01:39:11 -05:00
dependabot[bot]
b1e6f11f36 ci: bump the all-actions group with 2 updates
Bumps the all-actions group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [codecov/codecov-action](https://github.com/codecov/codecov-action).

Updates `github/codeql-action` from 3.28.16 to 3.28.18
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](28deaeda66...ff0a06e83c)

Updates `codecov/codecov-action` from 5.4.2 to 5.4.3
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](ad3126e916...18283e04ce)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Link: https://github.com/kmod-project/kmod/pull/366
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-06-02 10:07:18 -05:00
dependabot[bot]
686a561a82 ci: bump the all-actions group with 2 updates
Bumps the all-actions group with 2 updates: [github/codeql-action](https://github.com/github/codeql-action) and [codecov/codecov-action](https://github.com/codecov/codecov-action).

Updates `github/codeql-action` from 3.28.13 to 3.28.16
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1b549b9259...28deaeda66)

Updates `codecov/codecov-action` from 5.4.0 to 5.4.2
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](0565863a31...ad3126e916)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Link: https://github.com/kmod-project/kmod/pull/342
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-05-17 15:15:46 -05:00
Emil Velikov
a16f5c4a6f ci: install curl in Ubuntu container
With codecov v5, the script/action requires curl (and maybe more)
although the documentation wasn't updated. Furthermore, the missing
program will be reported in the logs, while the action will report
overall success 🤦

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/347
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-05-17 15:14:43 -05:00
dependabot[bot]
add8cf2923 ci: bump github/codeql-action in the all-actions group
Bumps the all-actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).

Updates `github/codeql-action` from 3.28.10 to 3.28.13
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b56ba49b26...1b549b9259)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Link: https://github.com/kmod-project/kmod/pull/330
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-04-07 07:37:59 -05:00
Emil Velikov
cf3e25a232 ci/main: alpha sort distributions/variants
Fixes: ae7b0c30 ("ci: Test with Debian bullseye")
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/322
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-25 14:09:02 -05:00
Lucas De Marchi
1f1501785e ci: Improve double checkout where needed
In the main workflow the problem needing a double checkout is that
git may not be available in the containers we are using which causes the
action/checkout to use a tarball. However some of the steps (e.g. meson
dist) need the checkout to be a real git checkout.

Improve the double checkout by doing the first checkout to a local-actions
directory that can be removed after the setup is done. Even if doing it
in a separate dir, the CWD still belongs to a different user as
additional debugs show before removing that directory:

	ls -la .
	total 12
	drwxr-xr-x  3 1001  118 4096 Mar 12 18:35 .
	drwxr-xr-x  3 1001  118 4096 Mar 12 18:35 ..
	drwxr-xr-x 10 root root 4096 Mar 12 18:35 local-actions

	ls -la ..
	total 12
	drwxr-xr-x 3 1001  118 4096 Mar 12 18:35 .
	drwxr-xr-x 6 1001 root 4096 Mar 12 18:35 ..
	drwxr-xr-x 3 1001  118 4096 Mar 12 18:35 kmod

Move the safe directory setting to the cleanup step.

Another alternative would be to use the setup-os action from a "remote"
repository, i.e. kmod-project/kmod/.github/actions/setup-os. However it
would make harder to update it in PRs since it would fetch the action
from a different branch.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/321
2025-03-25 14:04:46 -05:00
Lucas De Marchi
19219f3251 ci: Drop double checkout where not needed
The only workflow that needs a double checkout is the main one, all the
others should be fine without.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/321
2025-03-25 14:01:26 -05:00
Lucas De Marchi
a418918d7a ci: Drop container objects for other workflows
Commit 23b45fc385c7 ("ci: Drop container object") dropped the container
object for the main workflow. Do the same for the other workflows.
Even if they don't need a matrix (since they run in just one
configuration), keep using it to make the structure common to all
workflows.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/321
2025-03-25 14:01:26 -05:00
Lucas De Marchi
5c188bd198 ci: Generalize OS setup in one action
Use just one action for OS setup and make it call the right script. This
makes it easier to maintain as when devs are working with containers,
they can just call the script, and it also avoids repeated conditional
steps in the workflows.

If a distro is not supported, the action will simply fail and support
may be added later.

With the move to .sh files, also run shellcheck in them: surprisingly
just one quote missing.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/321
2025-03-25 14:01:26 -05:00
Emil Velikov
ecf507a704 ci: remove Debian/pahole dependency
The dependency was added as a workaround to the Debian bug linked. With
that resolved we can remove pahole.

Reference: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098706
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/314
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-25 12:46:14 -05:00
Emil Velikov
f9c7fd707f ci: remove no longer needed libtool
We've dropped libtool across all distros but Fedora. The tool is not
needed anymore, so let's remove it.

Fixes: 04520dc9 ("ci: Remove autotools dependencies from containers")
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/318
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-11 13:48:37 -05:00
Chen, Yuchi
7fe9be0046 ci: Push documentation to kmod-project.github.io and trigger publishing
1. When master or a new tag is pushed, build API documentation
2. Push the newly built document to kmod-project.github.io
3. Dispatch kmod-project.github.io to publish documents

Co-developed-by: Chen, Yuchi <yuchi.chen@intel.com>
Signed-off-by: Chen, Yuchi <yuchi.chen@intel.com>
Signed-off-by: Gongjun Song <gongjun.song@intel.com>
Signed-off-by: Dan He <dan.h.he@intel.com>
Signed-off-by: Wenjie Wang <wenjie2.wang@intel.com>
Signed-off-by: Qingqing Li <qingqing.li@intel.com>
Link: https://github.com/kmod-project/kmod/pull/308
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-10 12:05:17 -05:00
dependabot[bot]
ee53ca3894 ci: bump the all-actions group across 1 directory with 2 updates
Bumps the all-actions group with 2 updates in the / directory: [github/codeql-action](https://github.com/github/codeql-action) and [codecov/codecov-action](https://github.com/codecov/codecov-action).

Updates `github/codeql-action` from 3.27.1 to 3.28.10
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4f3212b617...b56ba49b26)

Updates `codecov/codecov-action` from 4.6.0 to 5.4.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](b9fd7d16f6...0565863a31)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Link: https://github.com/kmod-project/kmod/pull/302
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-06 23:13:30 -06:00
Lucas De Marchi
ec4d901d53 ci: Test with different moduledir
Add a test for a common setup (/usr/lib/modules) and a weird one
(/kernel-modules) to cover uses of moduledir.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-05 09:09:21 -06:00
Lucas De Marchi
00d0c19a37 ci: Add pipeline to test linking with lld
Test linking with lld to avoid issues like
https://github.com/kmod-project/kmod/issues/269

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-05 09:09:21 -06:00
Lucas De Marchi
6b603b3c30 ci: Switch most builds to 64b
Due to a mistake on using "multilib" fixed in commit
271d8ab ("ci: Fix 32b build ignoring options") and commit
6897912 ("ci: s/multilib/x32/"), most of our builds were actually
testing 32b, which is not the most common thing.

Leave just 2 32b builds, one with Archlinux and the other with Ubuntu
and remove the FIXME about configuration.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:53:13 -06:00
Lucas De Marchi
fa7ad9826b ci: Fix 32b build ignoring options
In some configurations we pass meson_setup and x32 options, but the
options were being ignored in 32b builds. Unify the configure/build/test
steps since just the 32b configuration step that needs to be handled
differently, then make sure --native-file and the configure options
are also handled for 32b builds.

Add a 64b configuration for Archlinux and disable test on Archlinux x32
since it's failing due to packages installed and/or distro
configuration.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:48:47 -06:00
Lucas De Marchi
5e49bae933 ci: s/multilib/x32/
It's confusing using "multilib" because it's not about adding the
"capability of building 32b", it's rather "this is really building and
testing 32b, which takes different steps.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:48:44 -06:00
Lucas De Marchi
ae7b0c309a ci: Test with Debian bullseye
This is used to build LibreELEC as per
https://github.com/kmod-project/kmod/issues/298. Test with it.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:43:55 -06:00
Lucas De Marchi
23b45fc385 ci: Drop container object
Just use all the properties in a single level rather than embeding it in
the container object.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:43:46 -06:00
Lucas De Marchi
975638c91d ci: Use include to completly specify the matrix
The permutation available in github and extending it "include" or
reducing it with "exclude" are much harder than needed. It doesn't seem
we can have a mix of "properties" with the configurations. Just give up
and completly specify the matrix. Now that there's only 1 build system,
at least doing all the permutations doesn't make it too big.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:41:25 -06:00
Lucas De Marchi
04520dc91e ci: Remove autotools dependencies from containers
Not needed anymore.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:30:03 -06:00
Lucas De Marchi
313e0e48a6 ci: Drop autotools builds
Not needed anymore.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-03-04 15:30:03 -06:00
Tobias Stoeckmann
2da3a2f934 ci: add pahole for Debian unstable
The pahole package is required in our test suite for module creation:

  BTF [M] /__w/kmod/kmod/build/testsuite/module-playground/mod-simple.ko
/bin/sh: 1: pahole: not found
make[3]: *** [/usr/src/linux-headers-6.12.16-common/scripts/Makefile.modfinal:64: /__w/kmod/kmod/build/testsuite/module-playground/mod-simple.ko] Error 127

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Link: https://github.com/kmod-project/kmod/pull/294
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-02-24 12:58:04 -06:00
Lucas De Marchi
cadd21886f ci: Stop using ubuntu-latest
This generates a bunch of warnings in CI

	ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details,
	see https://github.com/actions/runner-images/issues/10636

Update to ubuntu 24.04 to catch any possible issues and stop using
ubuntu-latest.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2025-01-27 10:59:21 -06:00
Lucas De Marchi
ccc26d6bf4 ci: Add 2 more pipelines to the matrix
Test disabling one of the compression libs while dlopen'ing the rest and
handling 1 linked and 2 dlopen'ed.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/262
2024-12-06 13:16:28 -08:00
Lucas De Marchi
a3467eb0af ci: Add configure tests for dlopen
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/262
2024-12-06 13:16:28 -08:00
Lucas De Marchi
fa245759a0 ci: Fix fail due to existent build dir
The second check is a "should fail" check, but it will fail because the
build dir already exists rather than for the true reason. Use a
different dir for the configure tests and move the `rm` inside the
function.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/262
2024-12-06 13:16:28 -08:00
Enrico Joerns
4b5d9681ce ci/codeql: use filter-sarif to filter meson-private
There is a severe number of false-positive in code scanning caused by
inspecting meson-internal test files like
'build/meson-private/tmpzb46osmq/testfile.c'.

As a workaround, use the 'filter-sarif' action to filter out these
results before uploading the SARIF (Static Analysis Results Interchange
Format).

This PR was inspired by https://github.com/rauc/rauc/pull/1346 and the
example from https://github.com/advanced-security/filter-sarif.

Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
[Emil: port from rauc, use checksums for actions]
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/249
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-19 01:36:56 -06:00
Emil Velikov
346928a9f1 ci: add meson setup -D {distconf,module}dir=relative/ checks
Based on the autotools build, meson does not support relative
directories for distconfig and moduledir. We fixed that recently, but
never added a check so we don't regress.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/245
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-19 01:11:10 -06:00
dependabot[bot]
1ae4c61082 ci: bump the all-actions group across 1 directory with 3 updates
Bumps the all-actions group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [yshui/git-clang-format-lint](https://github.com/yshui/git-clang-format-lint) and [github/codeql-action](https://github.com/github/codeql-action).

Updates `actions/checkout` from 4.1.7 to 4.2.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...11bd71901b)

Updates `yshui/git-clang-format-lint` from 1.16 to 1.17
- [Release notes](https://github.com/yshui/git-clang-format-lint/releases)
- [Commits](a65b466f59...27f3890c66)

Updates `github/codeql-action` from 3.26.7 to 3.27.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8214744c54...4f3212b617)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
- dependency-name: yshui/git-clang-format-lint
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Link: https://github.com/kmod-project/kmod/pull/237
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-11 18:20:24 -06:00
Emil Velikov
ae16a0277b ci: add coreutils to Alpine
The buxybox version of ln supports only the short options and does not
support -r/--relative.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/231
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-11 16:12:09 -06:00
Emil Velikov
5b72ac7d5b ci: add code coverage via Codecov
Add a simple code coverage pipeline based on the CodeQL one.

Should give us pretty reports in the PRs and web UI with the results. We
can consider having HTML reports on our website (once it's up that is)
in addition or instead of at a future point.

Closes: https://github.com/kmod-project/kmod/issues/61
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/229
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-08 11:51:52 -06:00
Emil Velikov
73e46a7795 ci/codeql: use Ubuntu 24.04, adjust build flags
While in here drop the docs and manpages flags - both of those combined
take ~1s of CI time - and disable the sanitizers and tests instead.

This means we no longer get pre-existing code problems in the tests,
which is fine considering the number of pre-existing issues in there.
Another nice side effect is that the pipeline time is reduced by ~50%.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/229
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-08 11:51:04 -06:00
Lucas De Marchi
573fc124be ci: Fix debian/ubuntu installation
Make sure we are running in non-interactive mode and that we don't get
blocked on tzdata update.

Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/235
2024-11-08 11:29:04 -06:00
Emil Velikov
a4b07d98c7 ci: re-enable sanitizers with Fedora 41
We had the sanitizers disabled on Fedora 40, since the shared library
sanitizers comings with clang were not packaged. With Fedora 41 that has
changed, so let's try re-enabling them.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/219
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-07 11:07:41 -06:00
Emil Velikov
5b2f86cd08 meson: default enable compression and openssl
The default for the compressions and openssl is based on the autotools
build ones. With the initial goal to make migration as easy as possible
- identical option names, help messages, defaults...

Although a bunch of these have changed already, plus we want builders to
get support for compressed/signed modules out of the box.

So let's flip the defaults - everyone is welcome to adjust those when
calling `meson setup -D foo=bar`.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/225
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-11-07 10:10:34 -06:00
Emil Velikov
2758cb57eb ci: sort the distribution listing
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/172
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
2024-10-18 13:22:12 -05:00