.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