name: Flatpak-builder CI on: push: branches: - master pull_request: branches: - master jobs: check: name: Build with gcc and test runs-on: ubuntu-18.04 steps: - name: Install Dependencies run: | sudo add-apt-repository ppa:alexlarsson/flatpak sudo add-apt-repository ppa:alexlarsson/glib260 sudo apt-get update sudo apt-get install -y libglib2.0 attr automake 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 libsoup2.4-dev libsystemd-dev libxml2-utils libgpgme11-dev gobject-introspection \ libgirepository1.0-dev libappstream-glib-dev libdconf-dev clang socat flatpak \ libcurl4-gnutls-dev libflatpak-dev libyaml-dev elfutils git patch unzip - name: Check out flatpak uses: actions/checkout@v1 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 clang: name: Build with clang runs-on: ubuntu-18.04 steps: - name: Install Dependencies run: | sudo add-apt-repository ppa:alexlarsson/flatpak sudo add-apt-repository ppa:alexlarsson/glib260 sudo apt-get update sudo apt-get install -y libglib2.0 attr automake 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 libsoup2.4-dev libsystemd-dev libxml2-utils libgpgme11-dev gobject-introspection \ libgirepository1.0-dev libappstream-glib-dev libdconf-dev clang flatpak \ libcurl4-gnutls-dev libflatpak-dev libyaml-dev elfutils git patch unzip - name: Check out flatpak uses: actions/checkout@v1 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)