Update NEWS #3261
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 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 | |
- flatpak-1.10.x | |
- flatpak-1.12.x | |
pull_request: | |
paths-ignore: | |
- README.md | |
- NEWS | |
- INSTALL | |
- COPYING | |
- CODE_OF_CONDUCT.md | |
- uncrustify.cfg | |
- uncrustify.sh | |
branches: | |
- master | |
- flatpak-1.0.x | |
- flatpak-1.2.x | |
- flatpak-1.4.x | |
- flatpak-1.6.x | |
- flatpak-1.8.x | |
- flatpak-1.10.x | |
- flatpak-1.12.x | |
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 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 e2fslibs-dev | |
# One of the tests wants this | |
sudo mkdir /tmp/flatpak-com.example.App-OwnedByRoot | |
- name: Check out flatpak | |
uses: actions/checkout@v1 | |
with: | |
submodules: true | |
- name: Build malcontent dependency | |
run: | | |
git clone --branch 0.4.0 --depth 1 --no-tags https://gitlab.freedesktop.org/pwithnall/malcontent.git ./malcontent | |
pushd ./malcontent | |
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 and analyze | |
runs-on: ubuntu-18.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
language: [ 'cpp', 'python' ] | |
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] | |
# Learn more: | |
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed | |
steps: | |
# Initializes the CodeQL tools for scanning. | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: ${{ matrix.language }} | |
# If you wish to specify custom queries, you can do so here or in a config file. | |
# By default, queries listed here will override any specified in a config file. | |
# Prefix the list here with "+" to use these queries and those in the config file. | |
# queries: ./path/to/local/query, your-org/your-repo/queries@main | |
- name: Install Dependencies | |
run: | | |
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 e2fslibs-dev | |
- 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) | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
valgrind: | |
name: Run tests in valgrind | |
needs: check # Don't run expensive test if main check fails | |
runs-on: ubuntu-20.04 # Might as well test with a different one too | |
steps: | |
- name: Install Dependencies | |
run: | | |
sudo apt-get update | |
sudo add-apt-repository 'deb https://download.mono-project.com/repo/ubuntu stable-focal main' # Needed for updates to work | |
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 \ | |
valgrind e2fslibs-dev | |
- name: Check out flatpak | |
uses: actions/checkout@v1 | |
with: | |
submodules: true | |
- name: Build ostree dependency | |
run: | | |
git clone --branch v2020.8 --depth 1 --no-tags https://github.com/ostreedev/ostree.git ./ostree | |
pushd ./ostree | |
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --sysconfdir=/etc --localstatedir=/var | |
make -j $(getconf _NPROCESSORS_ONLN) | |
sudo make 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 | |
popd | |
env: | |
CFLAGS: -O2 | |
- name: Build flatpak | |
run: make -C _build -j $(getconf _NPROCESSORS_ONLN) | |
- name: Run tests | |
run: make -C _build check | |
env: | |
FLATPAK_TESTS_VALGRIND: true | |
- 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 |