mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-23 05:10:22 -07:00
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.
This commit is contained in:
parent
94a53adff1
commit
bb37b67166
12 changed files with 255 additions and 140 deletions
|
@ -1,51 +1,59 @@
|
|||
#!/usr/bin/env bash
|
||||
set -eux
|
||||
|
||||
flatpak install -y --system flathub org.freedesktop.Platform//1.6 org.freedesktop.Sdk//1.6
|
||||
|
||||
echo $'#!/bin/sh\necho hello world' > hello.sh
|
||||
|
||||
export NUM=1
|
||||
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
|
||||
# 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')
|
||||
|
||||
cat > repo/com.dummy.App1.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
|
||||
# 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}
|
||||
[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
|
||||
|
|
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue