|
77 | 77 | - name: Run flake8
|
78 | 78 | run: |
|
79 | 79 | flake8 --count --show-source --statistics
|
| 80 | +
|
| 81 | + flatpak: |
| 82 | + # This job builds Hamster for flatpak, and runs its tests |
| 83 | + # inside the sandbox. |
| 84 | + name: Test the flatpak build |
| 85 | + runs-on: ubuntu-20.04 |
| 86 | + steps: |
| 87 | + - name: Prepare repo |
| 88 | + uses: actions/checkout@v2 |
| 89 | + - name: Install system packages |
| 90 | + # It would be good to cache the GNOME Sdk, as it |
| 91 | + # is rather big to download each time. |
| 92 | + env: |
| 93 | + DEBIAN_FRONTEND: noninteractive |
| 94 | + run: | |
| 95 | + PACKAGES="flatpak flatpak-builder dbus-x11" |
| 96 | +
|
| 97 | + sudo apt-get update |
| 98 | + sudo apt-get install -yq ${PACKAGES} |
| 99 | + - name: Install GNOME SDK for flatpak |
| 100 | + run: | |
| 101 | + flatpak remote-add --user --if-not-exists --from flathub https://flathub.org/repo/flathub.flatpakrepo |
| 102 | + flatpak install --user -y flathub org.gnome.Platform//3.36 org.gnome.Sdk//3.36 |
| 103 | + - name: Build application |
| 104 | + run: | |
| 105 | + flatpak-builder --repo=build/flatpak/repo build/flatpak/tmp org.gnome.Hamster.json |
| 106 | + - name: Run tests inside sandbox |
| 107 | + run: | |
| 108 | + dbus-launch flatpak-builder --run build/flatpak/tmp org.gnome.Hamster.json python3 -m unittest |
| 109 | + - name: Export bundle and try to install it |
| 110 | + run: | |
| 111 | + mkdir -p dist |
| 112 | + flatpak build-bundle --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo build/flatpak/repo dist/Hamster.flatpak org.gnome.Hamster |
| 113 | + flatpak --user -y install dist/Hamster.flatpak |
| 114 | + - name: Upload built artifact |
| 115 | + uses: actions/upload-artifact@v2 |
| 116 | + with: |
| 117 | + name: Flatpak application |
| 118 | + path: dist/Hamster.flatpak |
0 commit comments