Commit graph

591 commits

Author SHA1 Message Date
Daan De Meyer ba592dc715 mkosi: Replace submodules with our own thing
Unfortunately, git submodules break in all sorts of ways:

- Various github workflows (dependabot, github pages) try to do a shallow
clone of git submodules which does not work at all when the git repository
is hosted on pagure (https://pagure.io/pagure/issue/5453,
https://github.com/dependabot/dependabot-core/issues/9391).
- If the git forge hosting the git repository uses SHA256, then it breaks our
usage of it as a submodule as SHA256 repositories cannot be used as submodules
in SHA1 repositories (src.opensuse.org moved to SHA256 which broke our usage of
opensuse's systemd spec as a submodule).
- git submodules completely break usage of git worktrees.
- ...

Let's avoid all these issues by just doing our own home grown implementation of
git submodules. We lose the automatic dependabot updates this way but since dependabot
fails to run more often that not with submodules we don't really lose anything.
2024-05-30 19:31:32 +02:00
Daan De Meyer 074ac66e88 Revert "mkosi: Sanitizer improvements"
This reverts commit aef13ad029.
2024-05-30 14:50:21 +02:00
Daan De Meyer d54d6197d5 Revert "ci: Build with sanitizers in mkosi"
This reverts commit 639403f9a8.
2024-05-30 14:50:10 +02:00
Daan De Meyer 381918edc9
Merge pull request #32866 from DaanDeMeyer/sanitizers
mkosi: Sanitizers
2024-05-30 14:49:13 +02:00
Daan De Meyer 465d302d48 mkosi: Preserve environment when running integration tests with sudo
Otherwise we won't detect we're running in Github Actions and will
show the wrong command to fetch the journal.
2024-05-30 13:50:27 +02:00
Daan De Meyer 639403f9a8 ci: Build with sanitizers in mkosi 2024-05-30 12:47:45 +02:00
Daan De Meyer aef13ad029 mkosi: Sanitizer improvements
- Let's set the environment on the kernel command line so it applies
to initrd and main system.
- Let's add the necessary wrappers that are also added in test-functions.
Unlike test-functions we don't use gcc/clang to get the library path as
that requires installing gcc/clang in the initrd.
- Let's drop the hack to get journald writing to the console and have
it write to kmsg instead. We'll get the output either way.
- Stop removing libstdc++ and sanitizer libraries from Arch Linux
initrds and other images as it's required by the sanitizer libraries.
- Add a workaround for specifying extra meson options for opensuse
- Add a leak sanitizer suppression file as a workaround for a false
positive leak in verify_selinuxmnt() in libselinux. We do a soname match
because the stacktrace can't be properly symbolized on Debian.
2024-05-30 12:47:45 +02:00
Daan De Meyer d12fedd25e mkosi: Run integration tests as root
This allows running integration tests that support it in nspawn
instead of qemu. This both gives extra coverage and speeds things up.
2024-05-29 14:10:50 +02:00
Daan De Meyer 09466b2a0e mkosi: update to latest 2024-05-29 14:10:47 +02:00
Luca Boccassi 0dde8adcf5 Revert "CI: add manual workflow to publish pages to fix submodule issue"
Nope, it's broken, never mind

This reverts commit b0f9c3c648.
2024-05-16 15:31:52 +01:00
Luca Boccassi b0f9c3c648 CI: add manual workflow to publish pages to fix submodule issue
Cloning the fedora/centos submodules fails because --depth 1 is used. Fork the actions workflow and use fetch-depth: 0 to disable it.
2024-05-16 16:27:40 +02:00
Zbigniew Jędrzejewski-Szmek f222ef107d mkosi: Restore job for F40
This partially reverts ecf8468dd4.
dist-git was made compatible again with F40.
2024-05-14 21:23:46 +02:00
Daan De Meyer ecf8468dd4 mkosi: Update fedora to latest
We drop the Fedora 40 job as the latest rawhide spec introduced
dependencies that are not available in Fedora 40.
2024-05-14 20:44:39 +02:00
Daan De Meyer 23d79a84a4 mkosi: Update to latest 2024-05-14 12:43:28 +02:00
Daan De Meyer 5dd3657f86 ci: Optimize pull request labeler
We keep running into rate limits, so let's optimize the number of
requests we do in the pull request labeler to hopefully fix that.
2024-05-07 17:49:54 +02:00
Daan De Meyer b1670c52ad mkosi: Switch to fedora 40
Enable updates-testing and use the most recent mirror to make sure
we get util-linux 2.40.1 which contains a crucial fix to make sure
the serial terminal in virtual machines works properly.
2024-05-07 11:51:29 +02:00
Daan De Meyer 7681a8ee58 ci: Disable RuntimeBuildSources=
We build with debuginfo, so there's no point to starting virtiofsd
to mount the sources and build directory into the VM, so let's
disable that.
2024-05-06 22:23:37 +02:00
Daan De Meyer eabf46ef89 ci: Reduce the number of integration tests we run concurrently
Since there's a bunch of CPU hungry systemd-journal-remote processes
running on the host to received the forwarded logs, by running as many
test as the VM has cores we overload the available resources. Let's leave
use the number of cores - 1 to reduce resource contention.
2024-05-06 11:57:09 +02:00
Daan De Meyer ffda3c3de9 mkosi: Disable ext4's orphan_file feature for centos images
Not supported by e2fsck from centos. We also disable building repart
from source in CI as running it from the build directory means repart
will run mkfs.ext4 from the host which doesn't know about the orphan_file
feature causing it to fail.
2024-05-06 10:56:45 +02:00
Daan De Meyer 81af7ac925 mkosi: Enable udev debug logging in CI
It's very useful to debug race conditions with loop devices, so let's
enable the logging now that it goes to the journal and not to the
console.
2024-05-06 10:56:45 +02:00
Daan De Meyer 1c329956e5 mkosi: Insist on KVM, VSOCK and TPM by default
By default mkosi will not run VMs with these features if they're not
available, but since various stuff in systemd makes use of these, let's
fail loudly if any of these are not available by default in systemd.

Users can still override these defaults locally if they wish.
2024-05-06 10:56:45 +02:00
Daan De Meyer 86e249f326 mkosi: Update to latest 2024-05-06 10:56:45 +02:00
Frantisek Sumsal 57188d1467
Merge pull request #32609 from systemd/dependabot/github_actions/github/super-linter-6
build(deps): bump github/super-linter from 5.0.0 to 6
2024-05-02 10:16:40 +02:00
Frantisek Sumsal 109780a35e ci: point Super-Linter to the new upstream
Looks like since [0] the Super-Linter repo was moved to
super-linter/super-linter and github/super-linter is just a fork, so
let's update the reference accordingly.

[0] 59fac7946c
2024-05-02 09:53:43 +02:00
Frantisek Sumsal b160ac9c12 ci: explicitly disable multi status for Super-Linter
The multi status feature requires $GITHUB_TOKEN, and since [0] it
defaults to true. Since we don't need it, let's explicitly disable the
feature.

[0] e6e6e1fa5f
2024-05-02 09:46:44 +02:00
dependabot[bot] 6a8bffbc6c build(deps): bump redhat-plumbers-in-action/differential-shellcheck
Bumps [redhat-plumbers-in-action/differential-shellcheck](https://github.com/redhat-plumbers-in-action/differential-shellcheck) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/redhat-plumbers-in-action/differential-shellcheck/releases)
- [Changelog](https://github.com/redhat-plumbers-in-action/differential-shellcheck/blob/main/docs/CHANGELOG.md)
- [Commits](c15070885a...52bab0caa5)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/differential-shellcheck
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 16:01:22 +02:00
dependabot[bot] 916102ab89 build(deps): bump redhat-plumbers-in-action/gather-pull-request-metadata
Bumps [redhat-plumbers-in-action/gather-pull-request-metadata](https://github.com/redhat-plumbers-in-action/gather-pull-request-metadata) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/redhat-plumbers-in-action/gather-pull-request-metadata/releases)
- [Commits](69c703f376...17821d3bc2)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/gather-pull-request-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 16:00:48 +02:00
dependabot[bot] 8fb796a423
build(deps): bump github/super-linter from 5.0.0 to 6
Bumps [github/super-linter](https://github.com/github/super-linter) from 5.0.0 to 6.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/CHANGELOG.md)
- [Commits](45fc0d8828...4e51915f4a)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 09:42:38 +00:00
Mike Yuan 2286c15676
development-freeze: suppress warning for some labels 2024-04-29 18:59:02 +08:00
Mike Yuan 274623cc83
labeler: add l10n 🌍 2024-04-29 18:56:54 +08:00
Daan De Meyer b6df6bef31 mkosi: Update to latest 2024-04-26 13:36:40 +02:00
Daan De Meyer 1731008879 mkosi: Only keep failed test journals and other logs for 7 days
The default retention of 90 days seems a bit long, so drop it to 7
days.
2024-04-25 20:51:11 +02:00
Daan De Meyer 4becd5fb73 mkosi: Only archive outputs in systemd and systemd-stable repositories
Private forks would very quickly reach their quota or spend lots of
money trying to archive all these artifacts, so let's make sure it
only happens on our own repositories.
2024-04-25 20:51:08 +02:00
Richard Maw 292110aa1c ci: Add the meson logs to failure log artifacts
It is not a lot of use to add --debug to tests without it
since only the last 100 lines are printed to console.
2024-04-25 13:05:37 +01:00
Richard Maw aca6533951 ci: Update mkosi version
The change to add microcode support had a bug in ukify handling
that broke when it should have been picked up from ExtraSearchPaths.
2024-04-25 13:05:37 +01:00
Luca Boccassi 2d0c95f2b2 ci: remove packages.microsoft.com
It is not needed, it publishes things like dotnet, and it is often
broken, so just remove the sources
2024-04-24 18:07:52 +02:00
Richard Maw 0bc1e9592e mkosi: Update to latest 2024-04-24 11:01:35 +02:00
Daan De Meyer 5841b5af48 mkosi: Configure lower retention limit for package artifacts
This is more than 0.5G per job, so let's drop the retention to
4 days to make sure we don't hit github's limits.
2024-04-23 11:58:44 +02:00
Daan De Meyer 279b3d4690 mkosi: Fix Arch Linux package glob 2024-04-23 11:53:28 +02:00
Daan De Meyer 422124072d mkosi: Run integration tests in CI
We do the image build and run the tests in a btrfs loopback so we
can make use of btrfs subvolumes and COW to keep the disk space
requirements to a minimum and speed up the ephemeral copies we make
of the image to run the tests.

We also switch to building debug packages and publishing the built
packages as artifacts.
2024-04-23 10:33:08 +02:00
Daan De Meyer e3cd320021 mkosi: Update to latest 2024-04-23 10:24:59 +02:00
Daan De Meyer a32d6161bb mkosi: Update to latest 2024-04-22 09:08:16 +02:00
Frantisek Sumsal 49c11c789a ci: fix systemd-machined component name
Follow-up for d762f4d52d.
2024-04-20 14:38:54 +02:00
Sarvajith Adyanthaya d762f4d52d Replaced "machined" label with "machine" #32373 2024-04-20 10:53:00 +02:00
Frantisek Sumsal 20730c60dd labeler: merge "logind" label into "login"
Existing issues/PRs were migrated to the login label using:
$ gh search issues --repo systemd/systemd --label logind --limit=1000 --json number -q .[].number | \
        xargs gh issue edit --add-label login --remove-label logind
2024-04-19 18:31:51 +02:00
Daan De Meyer eadf555fd4 mkosi: Update to latest 2024-04-18 13:26:44 +02:00
Daan De Meyer 22fa7cbccc mkosi: Drop workarounds
With the latest Github Actions image release none of these should
be required anymore (20240414.1.1).
2024-04-17 17:36:36 +02:00
Daan De Meyer 1976b1d86d mkosi: Update to latest 2024-04-15 08:53:25 +02:00
Kristian Klausen 4d95bfcab0 github: add systemd-vmspawn to the issue templates 2024-04-15 14:38:25 +09:00
Daan De Meyer 659cf9191c mkosi: Remove outdated comment 2024-04-14 19:59:21 +02:00