1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/setup_flatpak_remote/create-repo.sh
Felix Fontein bb37b67166
flatpak: add tests in CI, add no_dependencies parameter (#2751)
* Similar version restrictions than flatpak_remote tests.

* ...

* Try to work around missing dependencies.

* Revert "Try to work around missing dependencies."

This reverts commit 66a4e38566.

* Add changelog.

* App8 -> App2; make sure that there are two apps App1 and App2.

* Fix forgotten variabe.

* Remove test notices.

* Seems like flatpak no longer supports file:// URLs.

The tests would need to be rewritten to offer the URL via http:// instead.

* Try local HTTP server for URL tests.

* ...

* Lint, add status check.

* Add boilerplate.

* Add 'ps aux'.

* Surrender to -f.

* Work around apparent flatpak bug.

* Fix YAML.

* Improve condition.

* Make sure test reruns behave better.
2021-06-08 08:46:20 +02:00

59 lines
1.9 KiB
Bash
Executable file

#!/usr/bin/env bash
set -eux
# Delete traces from last run
rm -rf appdir* dummy-repo.gpg gpg hello.sh repo
# Create GPG key
mkdir -p gpg
chmod 0700 gpg
gpg --homedir gpg --batch --passphrase '' --quick-gen-key test@dummy.com future-default default 10y
KEY_ID=$(gpg --homedir=gpg --list-keys --with-colons test@dummy.com | grep fpr: | head -1 | cut -d ':' -f 10)
gpg --homedir=gpg --export "${KEY_ID}" > dummy-repo.gpg
BASE64_PUBLIC_KEY=$(base64 dummy-repo.gpg | tr -d '\n')
# Install dependencies
flatpak install -y --system flathub org.freedesktop.Platform//1.6 org.freedesktop.Sdk//1.6
# Add individual flatpaks
echo $'#!/bin/sh\necho hello world' > hello.sh
for NUM in 1 2; do
flatpak build-init appdir${NUM} com.dummy.App${NUM} org.freedesktop.Sdk org.freedesktop.Platform 1.6;
flatpak build appdir${NUM} mkdir /app/bin;
flatpak build appdir${NUM} install --mode=750 hello.sh /app/bin;
flatpak build-finish --command=hello.sh appdir${NUM}
flatpak build-export repo appdir${NUM} stable
cat > repo/com.dummy.App${NUM}.flatpakref <<EOF
[Flatpak Ref]
Title=Dummy App${NUM}
Name=com.dummy.App${NUM}
Branch=stable
Url=file:///tmp/flatpak/repo
GPGKey=${BASE64_PUBLIC_KEY}
IsRuntime=false
RuntimeRepo=https://flathub.org/repo/flathub.flatpakrepo
EOF
done
# Build repository
cat > repo/dummy-repo.flatpakrepo <<EOF
[Flatpak Repo]
Title=Dummy Repo
Url=file:///tmp/flatpak/repo
Comment=Dummy repo for ansible module integration testing
Description=Dummy repo for ansible module integration testing
GPGKey=${BASE64_PUBLIC_KEY}
EOF
flatpak build-sign repo --gpg-sign="${KEY_ID}" --gpg-homedir=gpg
flatpak build-update-repo repo --gpg-sign="${KEY_ID}" --gpg-homedir=gpg
# Compress repository
tar cvfJ repo.tar.xz repo/
mv repo.tar.xz files/
# Cleanup
rm -rf appdir* dummy-repo.gpg gpg hello.sh repo