Files
flatpak/.github/workflows/check.yml
Alexander Larsson 481e5c88f1 Drop old-glib ci test as ubuntu 16.04 is no longer available
As per https://github.com/actions/virtual-environments/issues/3287
the support for ubuntu-16.04 stopped working on september 20:th, so
our CI job stopped starting.

(This matches what we did on master)
2021-10-04 16:35:57 +01:00

113 lines
4.4 KiB
YAML

name: Flatpak CI
on:
push:
branches:
- master
- flatpak-1.0.x
- flatpak-1.2.x
- flatpak-1.4.x
- flatpak-1.6.x
- flatpak-1.8.x
pull_request:
branches:
- master
- flatpak-1.0.x
- flatpak-1.2.x
- flatpak-1.4.x
- flatpak-1.6.x
- flatpak-1.8.x
jobs:
check:
name: Build with gcc and test
runs-on: ubuntu-18.04
steps:
- name: Install Dependencies
run: |
# Work around github repo bug (see https://github.community/t5/GitHub-Actions/ubuntu-latest-Apt-repository-list-issues/m-p/41163/highlight/true#M4513)
for apt_file in `grep -lr microsoft /etc/apt/sources.list.d/`; do sudo rm $apt_file; done
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo add-apt-repository ppa:alexlarsson/glib260
sudo add-apt-repository 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' # Needed for updates to work
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 libzstd-dev libcap-dev libattr1-dev libdw-dev libelf-dev python3-pyparsing \
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 meson libdbus-1-dev
- name: Check out flatpak
uses: actions/checkout@v1
with:
submodules: true
- name: Build malcontent dependency
run: |
git clone https://gitlab.freedesktop.org/pwithnall/malcontent.git ./malcontent
pushd ./malcontent
git checkout tags/0.4.0
meson setup --prefix=/usr _build
ninja -C _build
sudo ninja -C _build install
popd
- name: Create logs dir
run: mkdir test-logs
- name: autogen.sh
run: NOCONFIGURE=1 ./autogen.sh
- name: configure
# TODO: Enable gtk-doc builds
run: |
mkdir _build
pushd _build
../configure --enable-internal-checks --enable-asan
popd
env:
CFLAGS: -O2 -Wp,-D_FORTIFY_SOURCE=2
- name: Build flatpak
run: make -C _build -j $(getconf _NPROCESSORS_ONLN)
- name: Run tests
# TODO: Build with -j (currently ends up with hangs in the tests)
run: make -C _build check
env:
ASAN_OPTIONS: detect_leaks=0 # Right now we're not fully clean, but this gets us use-after-free etc
- name: Collect overall test logs on failure
if: failure()
run: mv _build/test-suite.log test-logs/ || true
- name: Collect individual test logs on cancel
if: failure() || cancelled()
run: mv _build/tests/*.log test-logs/ || true
- name: Upload test logs
uses: actions/upload-artifact@v1
if: failure() || cancelled()
with:
name: test logs
path: test-logs
clang:
name: Build with clang
runs-on: ubuntu-18.04
steps:
- name: Install Dependencies
run: |
# Work around github repo bug (see https://github.community/t5/GitHub-Actions/ubuntu-latest-Apt-repository-list-issues/m-p/41163/highlight/true#M4513)
for apt_file in `grep -lr microsoft /etc/apt/sources.list.d/`; do sudo rm $apt_file; done
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo add-apt-repository ppa:alexlarsson/glib260
sudo add-apt-repository 'deb https://download.mono-project.com/repo/ubuntu stable-bionic main' # Needed for updates to work
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 libzstd-dev libcap-dev libattr1-dev libdw-dev libelf-dev python3-pyparsing \
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
- name: Check out flatpak
uses: actions/checkout@v1
with:
submodules: true
- name: configure
run: ./autogen.sh --enable-gtk-doc --enable-gtk-doc-html
env:
CC: clang
CFLAGS: -Werror=unused-variable
- name: Build flatpak
run: make -j $(getconf _NPROCESSORS_ONLN)