Commit Graph

84 Commits

Author SHA1 Message Date
Georges Basile Stavracas Neto
76266177ab ci: Add flatpak-1.16.x to branch allowlist
This lets CI run for the flatpak-1.16.x branch. Needs backporting to
fully work.
2025-09-01 10:30:07 +00:00
Sebastian Wick
786df5b09b ci: Work around AppArmor userns restriction breaking bwrap
CI currently skips a lot of tests. This is due to AppArmor restricting
user namespacing to specific executables with a profile. We however
build bwrap ourselves and that makes it hard to have a profile for it.

Let's just turn the restriction off entirely.
2025-08-20 18:22:27 +00:00
Owen W. Taylor
c75ba1c7e1 common: Implement /etc/containers/certs.d for OCI registries
Docker and podman can be configured to use mutual TLS authentication
to the registry by dropping files into system-wide and user
directories. Implement this in a largely compatible way.

(Because of the limitations of our underlying libraries, we
can't support multiple certificates within the same host config,
but I don't expect anybody actually needs that.)

The certs.d handling is extended so that certificates are separately
looked up when downloading the look-aside index. This is mostly
to simplify our tests, so we can use one web server for both -
in actual operation, we expect the indexes to be unauthenticated.

Also for testing purposes, FLATPAK_CONTAINER_CERTS_D is supported
to override the standard search path.

Co-authored-by: Sebastian Wick <sebastian.wick@redhat.com>
2025-05-08 16:08:21 +00:00
Georges Basile Stavracas Neto
ff9f509682 ci: Cosmetics
- Properly title-case some job names
2025-04-30 13:46:06 +00:00
Jordan Petridis
ff2f18cb42 ci: Do not build with ASAN on older ubuntu
We already build and test with asan with the newer
toolchain in the ubuntu 24.04 job. Sometimes the older
toolchain found in 22.04 or the asan version will
trigger issues that are either false positive or that
have been already against in newer versions.
2025-04-30 13:46:06 +00:00
Georges Basile Stavracas Neto
7005191459 ci: Install missing dependencies
- libxau-dev
- libgdk-pixbuf2.0-dev
2025-04-30 13:46:06 +00:00
Georges Basile Stavracas Neto
9c92d97ef4 ci: Don't build appstream
Ubuntu 24.04 comes with appstream 0.16.2 which is recent enough.
2025-04-30 13:46:06 +00:00
Georges Basile Stavracas Neto
14fd224301 ci: Update Ubuntu versions
Use Ubuntu 22.04 for the older check, and 24.04 for the regular ones.
2025-04-30 13:46:06 +00:00
Georges Basile Stavracas Neto
30bb8f2a6e ci: Rework autosquash checker
Instead of using an old, unmaintained action, manually check using
the GitHub CLI tool and jq.
2025-03-13 22:30:15 +00:00
Georges Basile Stavracas Neto
892593fd3d ci: Add workaround to CodeQL status checks
CodeQL and merge queues don't play along very well. That's because
CodeQL doesn't report status to the merge queue, which ends up blocking
the queue forever.

Add this small workaround which allows us to turn on the merge queue
again.
2025-03-13 17:12:09 -03:00
Georges Basile Stavracas Neto
751360dab8 ci: Trigger CI on 'merge_group' event
This is necessary for the merge queue.
2025-03-13 17:12:09 -03:00
Georges Basile Stavracas Neto
a160cbcb1f ci: Update to actions/upload-artifact@v4
There should be no other changes required other than the version
bump.
2025-01-09 18:53:24 +01:00
Georges Basile Stavracas Neto
dd9b85a976 ci: Run CodeQL job in Ubuntu 22.04
No meaningful difference, except it's newer.
2024-04-28 13:23:40 -05:00
Georges Basile Stavracas Neto
ff066e0439 ci: Update to codeql-action v3
Silences a harmless deprecation warning.
2024-04-28 13:23:40 -05:00
Simon McVittie
d828116a12 workflows: Disable Microsoft-specific apt repository
We don't need anything from here, and its secure-apt signing is
currently broken.

Workaround-for: https://github.com/orgs/community/discussions/120966
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-04-24 13:03:05 +01:00
Simon McVittie
a9ad688d03 workflows: Exclusively build using Meson
Enabler for removing the Autotools build system.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-16 19:30:32 +00:00
Simon McVittie
fe09a3437b workflows: Tidy up coding style of pre-existing Meson invocations
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-16 19:30:32 +00:00
Simon McVittie
5114df1fcb workflows: Remove confusing relic from Ubuntu 18.04
Before commits 97768cea and cb655ab3, we were upgrading GLib to a
post-Ubuntu-18.04 version before running tests, to work around a GLib
bug. We no longer need to do that now that we're running everything on
Ubuntu 20.04 or later.

Fixes: cb655ab3 "check.yml: remove glib260 ppa"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-02-16 19:30:32 +00:00
Simon McVittie
d5f891e003 Revert "CI: Add mono apt repo to fix build"
We added this entirely unrelated apt repo to make CI work, but in fact
it now makes CI fail.

This reverts commit b6d5e20857.
2024-01-25 12:50:57 +00:00
Bastien Nocera
c2045cbded ci: Set the locale under which to run tests
Rather than expecting a particular locale to already be set.
2023-10-13 14:44:46 -03:00
K.B.Dharun Krishna
0e2508a843 CI: bump actions/checkout to v4 2023-09-04 19:49:55 +01:00
K.B.Dharun Krishna
1cbff35386 check.yml: bump Ubuntu runner for valgrind 2023-04-08 21:22:09 -05:00
K.B.Dharun Krishna
a98854b1a0 check.yml: bump actions/upload-artifacts to v3 2023-04-08 21:22:09 -05:00
K.B.Dharun Krishna
cb655ab336 check.yml: remove glib260 ppa
The required package is present in Ubuntu repos https://packages.ubuntu.com/focal/libglib2.0-dev
2023-04-08 21:22:09 -05:00
K.B.Dharun Krishna
dad39f61b5 block-autosquash-commits.yml: bump block-autosquash-commits-action version to 2.2.0 2023-04-08 21:22:09 -05:00
K.B.Dharun Krishna
97768cea84 check.yml: bump actions/checkout version and replace deprecated 18.04 runner with 20.04 2023-04-08 21:22:09 -05:00
Jan Macku
026bb1d01a ci: trigger differential-shellcheck workflow on push
Fixes: redhat-plumbers-in-action/differential-shellcheck#215
2023-03-31 16:38:25 +01:00
Simon McVittie
4650179d7c build: Require bubblewrap 0.8.0
This lets us use its new features unconditionally.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-03-24 13:29:32 +00:00
Patrick
8daa975ab3 CI: Disable Valgrind test for now
This test has consistently failed for months as it takes too long.

While it should be looked into its not helpful to show CI as always failing either.
2022-12-05 14:33:51 +00:00
Jan Macku
668fc7d514 ci(lint): add shell linter - Differential ShellCheck
It performs differential ShellCheck scans and report results directly in pull request.

documentation: https://github.com/redhat-plumbers-in-action/differential-shellcheck

Signed-off-by: Jan Macku <jamacku@redhat.com>
2022-11-22 10:58:52 -06:00
Simon McVittie
751d2b110b workflows: Enable CI for flatpak-1.14.x branch
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-11-10 13:13:22 +00:00
Simon McVittie
d98b745d43 workflows: Use Meson for the main build
This is somewhat faster than Autotools. We still use Autotools for
the alt, clang and valgrind builds, to make sure we cover both.

As a bonus, the use of undefined behaviour and address sanitizers here
actually works (unlike in Autotools, see #4844) so we're getting test
coverage with detection of common issues like use-after-free.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-24 16:12:14 +01:00
Simon McVittie
8a52187145 workflows: Compile with Ubuntu 18.04's GLib, but use 2.60 to run tests
This avoids a race condition in versions older than 2.60, while still
verifying that we can compile successfully with GLib 2.56.

Not having GLib 2.60 means we can't compile libmalcontent on Ubuntu 18.04,
so move the libmalcontent dependency to the main build job (on Ubuntu
22.04, which is new enough). This also means we don't have to compile
it from source every time.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-09-07 09:21:19 +02:00
Alex
a0c6848ccf Update check.yml
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-09-06 13:08:06 +02:00
Simon McVittie
061102df30 workflows: Build with FUSE 3 on Ubuntu 22.04
This ensures we exercise both code paths.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-08-16 13:27:04 +02:00
Debarshi Ray
120322cb8f CI: Use CodeQL Action v2, not the deprecated v1
See:
https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/
2022-06-28 18:26:45 -07:00
Phaedrus Leeds
26a8124478 Revert "CI: Temporarily build without libsystemd"
This reverts commit ea879dc38c.

Folks say the issue is fixed on launchpad:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1979579
2022-06-28 18:23:40 -07:00
Phaedrus Leeds
ea879dc38c CI: Temporarily build without libsystemd
To fix the CI until this is resolved:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1979579
2022-06-24 15:11:41 -07:00
Alexander Larsson
4247e61fbe CI: Build appstream dependency
We need appstream >= 0.15.3 to get this fix:
  https://github.com/ximion/appstream/issues/384

Without it the test-suite fails.
2022-06-16 13:49:45 +02:00
Alexander Larsson
300c00c910 Extend the CI build support, including testing the soup backend
This adds a separate, more modern CI build running on ubuntu 22.04
using curl, and leaves the old one around building against soup.

In addition, the modern one uses the system bwrap and dbus-proxy so
that we test these configurations too (and because the modern system
has good versions of these).

I also enabled running parallel make check again, hoping that
whatever made this hang is now fixed. We'll see.
2022-06-16 13:49:45 +02:00
Alexander Larsson
9695923f14 CI: Add libcurl-dev to CI install 2022-06-16 13:49:45 +02:00
Simon McVittie
0b83fdb71f workflows: Take libostree from PPA instead of building it from scratch
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-03 13:56:14 +02:00
Simon McVittie
0a43e98c97 workflows: Use team-maintained Flatpak PPA for ostree dependency
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-03 13:56:14 +02:00
Simon McVittie
968169a774 workflows: Run distcheck
This lets us verify that our ability to do releases hasn't regressed.

Run this as part of the "valgrind" build, since we want to enable
gtk-doc for distcheck, and it's this build that already enables gtk-doc.
We don't want to do this in the main Autotools build, since
that enables AddressSanitizer, which often works badly with the
"scanner" tools in gtk-doc and GObject-Introspection - although this
is currently mitigated by --enable-asan not actually working as
intended (see #4844).

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-03 13:56:14 +02:00
Simon McVittie
1e09311621 workflows: Explicitly enable/disable GObject-Introspection
For the build that uses --enable-asan, explicitly disable introspection,
since the GObject-Introspection scanner works poorly with libtool
and AddressSanitizer (see #4844); the only reason this worked until
now is that --enable-asan doesn't currently do anything (again,
see #4844).

For the build that runs tests under valgrind, we already can't use
AddressSanitizer, making this a good place to explicitly enable
introspection, so that we have at least one build with it enabled.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-03 13:56:14 +02:00
Simon McVittie
cb73e098ef workflows: Move gtk-doc enablement from clang to valgrind build
We want to have gtk-doc enabled in the build that will run
`make distcheck`, but the clang/CodeQL build seems like a poor fit for
that, since it runs twice (for C and Python) and has extra
instrumentation. Move it to the build where we will run tests under
valgrind, which is already somewhat slow.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-03 13:56:14 +02:00
Simon McVittie
cbb61761e7 workflows: Remove a TODO
We explicitly enable gtk-doc for one of our builds (the one that uses
clang on Ubuntu 18.04). There's no real need to enable it for more than
one build.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-03 13:56:14 +02:00
Philip Withnall
9c059def69 app: Port to libappstream
libappstream-glib is mostly unmaintained, and libappstream is more
actively developed (and up to date with the AppStream specification).

Port from libappstream-glib to libappstream. Handily, a lot of the APIs
are exactly the same. The main changes are:
 * `AsApp` → `AsComponent`
 * `AsStore` → `AsMetadata`

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

(Mostly done by Philip, then Phaedrus finished this)
2022-02-17 08:29:20 -06:00
Alexander Larsson
914424cae8 CI: build on "main" branch, not "master" 2022-02-11 14:45:32 +01:00
Phaedrus Leeds
8ebb79a2c6 Move build instructions to HACKING.md
The README was getting long and unweildy
2021-11-16 13:33:13 -08:00