builder-context: Write a gitignore file into the state-dir #471
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Flatpak-builder CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
TESTS_TIMEOUT: 10 # in minutes | |
jobs: | |
check-autotools: | |
name: Build with gcc and test | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libglib2.0 attr automake appstream-compose gettext autopoint bison dbus gtk-doc-tools \ | |
libfuse-dev ostree libostree-dev libarchive-dev libcap-dev libattr1-dev libdw-dev libelf-dev \ | |
libjson-glib-dev shared-mime-info desktop-file-utils libpolkit-agent-1-dev libpolkit-gobject-1-dev \ | |
libseccomp-dev libsystemd-dev libxml2-utils libgpgme11-dev gobject-introspection \ | |
libgirepository1.0-dev libappstream-dev libdconf-dev clang socat flatpak \ | |
libcurl4-gnutls-dev libflatpak-dev libyaml-dev elfutils git patch unzip | |
- name: Check out flatpak | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: configure | |
# TODO: Enable gtk-doc builds | |
run: ./autogen.sh | |
env: | |
CFLAGS: -fsanitize=undefined -fsanitize-undefined-trap-on-error -fsanitize=address -O2 -Wp,-D_FORTIFY_SOURCE=2 | |
- name: Build flatpak | |
run: make -j $(getconf _NPROCESSORS_ONLN) | |
- name: Run tests | |
run: make check | |
env: | |
ASAN_OPTIONS: detect_leaks=0 # Right now we're not fully clean, but this gets us use-after-free etc | |
- name: Check distribution | |
run: make distcheck | |
env: | |
ASAN_OPTIONS: detect_leaks=0 | |
clang: | |
name: Build with clang | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libglib2.0 attr automake appstream-compose gettext autopoint bison dbus gtk-doc-tools \ | |
libfuse-dev ostree libostree-dev libarchive-dev libcap-dev libattr1-dev libdw-dev libelf-dev \ | |
libjson-glib-dev shared-mime-info desktop-file-utils libpolkit-agent-1-dev libpolkit-gobject-1-dev \ | |
libseccomp-dev libsystemd-dev libxml2-utils libgpgme11-dev gobject-introspection \ | |
libgirepository1.0-dev libappstream-dev libdconf-dev clang flatpak \ | |
libcurl4-gnutls-dev libflatpak-dev libyaml-dev elfutils git patch unzip | |
- name: Check out flatpak | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: configure | |
# We disable introspection because it fails with clang: https://bugzilla.redhat.com/show_bug.cgi?id=1543295 | |
run: ./autogen.sh --disable-introspection | |
env: | |
CC: clang | |
CFLAGS: -Werror=unused-variable | |
- name: Build flatpak | |
run: make -j $(getconf _NPROCESSORS_ONLN) | |
check-meson: | |
name: Ubuntu 22.04 meson build | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
compiler: ['gcc', 'clang'] | |
env: | |
UBUNTU_VERSION: '22.04' | |
CC: ${{ matrix.compiler }} | |
BASE_CFLAGS: -Wp,-D_FORTIFY_SOURCE=2 | |
BUILDDIR: builddir | |
steps: | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get upgrade -y | |
sudo apt-get install -y \ | |
${{ matrix.compiler }} \ | |
attr \ | |
automake \ | |
autopoint \ | |
appstream-compose \ | |
bison \ | |
debugedit \ | |
dbus \ | |
desktop-file-utils \ | |
elfutils \ | |
flatpak \ | |
gettext \ | |
git \ | |
gobject-introspection \ | |
gtk-doc-tools \ | |
libappstream-dev \ | |
libarchive-dev \ | |
libattr1-dev \ | |
libcap-dev \ | |
libcurl4-gnutls-dev \ | |
libdconf-dev \ | |
libdw-dev \ | |
libelf-dev \ | |
libflatpak-dev \ | |
libfuse-dev \ | |
libgirepository1.0-dev \ | |
libglib2.0-dev \ | |
libgpgme11-dev \ | |
libjson-glib-dev \ | |
libostree-dev \ | |
libpolkit-agent-1-dev \ | |
libpolkit-gobject-1-dev \ | |
libseccomp-dev \ | |
libsystemd-dev \ | |
libxml2-utils \ | |
libyaml-dev \ | |
meson \ | |
ostree \ | |
patch \ | |
shared-mime-info \ | |
socat \ | |
unzip | |
- name: Check out flatpak-builder | |
uses: actions/checkout@v4 | |
- name: Configure flatpak-builder | |
# TODO: Enable gtk-doc builds | |
run: meson . ${BUILDDIR} | |
- name: Build flatpak-builder with Meson | |
run: meson compile -C ${BUILDDIR} | |
- name: Run tests with Meson | |
run: timeout --signal=KILL -v ${TESTS_TIMEOUT}m meson test -C ${BUILDDIR} --verbose | |
- name: Upload test logs | |
uses: actions/upload-artifact@v2 | |
if: failure() || cancelled() | |
with: | |
name: test logs | |
path: | | |
builddir/meson-logs/testlog.txt | |
installed-test-logs/ |