OpenMiInk/third_party/kde-ci-utilities/gitlab-templates/blocks/flatpak.yml
Hellings b8c8ff98e2 Hi
2026-10-16 09:05:56 -04:00

53 lines
2.2 KiB
YAML

.flatpak-base:
stage: deploy
rules:
# run the job on mainline branches of mainline repositories
- if: $KDECI_SECURE_SERVICES_KEY
when: on_success
# or if the manifest was modified
- changes:
paths:
- ".flatpak-manifest.*"
# files that are particularly prone to break the appstream checks in Flatpak
- "**/*.appdata.xml"
- "**/*.desktop"
# files that possibly indicate changes to dependencies
- ".kde-ci.yml"
- "CMakeLists.txt"
when: on_success
# or when triggered manually
- when: manual
# we don't want the manual job to block the pipeline
allow_failure: true
variables:
KDE_FLATPAK_MODULE_NAME: ${CI_PROJECT_NAME}
KDECI_SIGNFLATPAK_CONFIG: $CI_PROJECT_DIR/ci-utilities/signing/signflatpak.ini
interruptible: true
before_script:
- git clone https://invent.kde.org/sysadmin/ci-utilities.git --depth=1
- git clone https://invent.kde.org/sysadmin/ci-notary-service.git --depth=1
script:
- echo ${KDE_FLATPAK_MODULE_NAME}
# Build and install
- python3 -u ci-utilities/flatpak-build.py ${KDE_FLATPAK_MODULE_NAME}
# Test the Flatpak
- flatpak install -y --user "$CI_PROJECT_DIR/${KDE_FLATPAK_MODULE_NAME}.flatpak"
- python3 -u ci-utilities/flatpak-test.py
# Sign and publish (if the project branch is cleared for signing and publishing)
- |
if [ -f ${KDE_FLATPAK_MODULE_NAME}-locale.flatpak ]; then
python3 ci-notary-service/signflatpak.py -v --config $KDECI_SIGNFLATPAK_CONFIG --locale-bundle ${KDE_FLATPAK_MODULE_NAME}-locale.flatpak --debug-bundle ${KDE_FLATPAK_MODULE_NAME}-debug.flatpak ${KDE_FLATPAK_MODULE_NAME}.flatpak
else
python3 ci-notary-service/signflatpak.py -v --config $KDECI_SIGNFLATPAK_CONFIG --debug-bundle ${KDE_FLATPAK_MODULE_NAME}-debug.flatpak ${KDE_FLATPAK_MODULE_NAME}.flatpak
fi
artifacts:
name: Flatpak artifacts
expose_as: "Flatpak Bundle"
when: always
paths:
- "${KDE_FLATPAK_MODULE_NAME}.flatpak"
- "${KDE_FLATPAK_MODULE_NAME}-debug.flatpak"
- "${KDE_FLATPAK_MODULE_NAME}-locale.flatpak"
- "task.log"
- "task-debug.log"
expire_in: 7 days