92 Commits

Author SHA1 Message Date
Sebastian Wick
ef3d619d0e ci: Fix immutable releases
Github supports immutable releases. They can't be changed once
published. This is great, but the release action was broken and created
an immutable release, published it, and then tried to upload the dist
artifacts.

Upgrade to the latest version and explicitly create an immutable
release. In this version, the release action creates a draft release,
uploads the dist artifacts, and then publishes it.
2025-12-15 17:58:23 +00:00
Sebastian Wick
4fb7b7158d ci: Do releases via the CI
Instead of doing meson dist on the developers machine and uploading it,
and creating the release in github, we can let the CI take care of it.

Closes #6404
2025-12-01 12:45:06 +00:00
Sebastian Wick
400cc09205 ci: Check POTFILES in CI
We already do this in xdg-desktop-portal and it would have caught
missing files in POTFILES.in already.
2025-12-01 12:22:07 +00:00
Sebastian Wick
e4edecdef5 utils-http: Drop libsoup2 support in favor of libcurl
A few years ago there was a very painful attempt at porting from
libsoup2 to libsoup3. Flatpak libsoup3 support never landed and it seems
like a large amount of distros have switched over to libcurl instead.

This commit removes libsoup2 support completely instead of growing
libsoup3 support.

Closes #5915
Closes #4582
2025-11-20 17:40:57 +00:00
Sebastian Wick
4b2e21e0b6 ci: Get rid of paths-ignore to ensure all PRs can be merged
We require jobs to succeed before a PR can be merged. If a PR only
touches files which match `paths-ignore`, the jobs won't run and the PR
can't be merged.

The number of PRs which only touch those files is small, and the extra
CI runs resulting from that can be ignored.
2025-11-03 16:33:21 +01:00
Alexander Larsson
5c12cd83a1 tests: Add support for adding internal tests
If the internal_tests option is enabled we build some internal tests
into the binary. These are added to the tests we run in testlibrary.

This is not intended to be enabled in production, as it adds size to
the real binary, but is useful for CI and development.
2025-10-13 18:31:33 +00:00
Sebastian Wick
815301f341 doc: Build libflatpak-doc.html
Closes #4591
2025-10-10 10:04:37 +00:00
Jordan Petridis
16aaa8e3b3 ci: Use a regex to define the stable branches
Avoid doing it manually for each stable branch, and
needing extra steps to create a stable branch.

https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#filter-pattern-cheat-sheet
2025-09-02 15:01:11 +00:00
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