Warning, /packaging/flatpak-kde-applications/README.md is written in an unsupported language. File is not indexed.
0001 # Flatpak Manifests for KDE Apps Nightly builds
0002
0003 This repository is used by KDE's Jenkins instance to create Nightly Flatpak
0004 builds of KDE Apps. Stable Flatpak builds are published on Flathub. See:
0005
0006 * [Tutorials/Flatpak](https://userbase.kde.org/Tutorials/Flatpak)
0007 * [Your app on kdeapps: How and where to publish your manifests](https://develop.kde.org/docs/packaging/flatpak/publishing/).
0008
0009 ## Moving manifests to each application repo
0010
0011 As part of a
0012 [Season of KDE 2023 project](https://community.kde.org/SoK/Ideas/2023#Systematization_1:_Automate_Flatpak_checks_in_GitLab_Invent_CI)
0013 following the
0014 [Automate and systematize internal processes Goal](https://community.kde.org/Goals/Automate_and_systematize_internal_processes),
0015 we are moving all manifests for KDE Apps to each project repo to be able to
0016 benefit from checks during Merge Requests via KDE Invent's GitLab CI.
0017
0018 ## How to add your application to the Nightly repo
0019
0020 We strongly encourage developers to add their Flatpak manifests in their
0021 application source repository to enable per commit / merge request Flatpak CI
0022 builds on their repository.
0023
0024 You can then add a `.remoteapp` file in this repo to have the Flatpak be built
0025 by KDE binary factory (Jenkins). See existing files in the repo for examples.
0026
0027 ## How to add Flatpak CI To Your Repository
0028
0029 1. Add the Flatpak manifest to your source repository as
0030 `.flatpak-manifest.json` or `.flatpak-manifest.yml`.
0031 2. In your manifest, change source of your application module to use current
0032 directory. Eg.
0033
0034 ```json
0035 {
0036 "name": "neochat",
0037 "buildsystem": "cmake-ninja",
0038 "sources": [
0039 {
0040 "type": "dir",
0041 "path": "."
0042 }
0043 ]
0044 }
0045 ```
0046
0047 For any other KDE dependency, use the development or master branch. For KDE
0048 Frameworks, use the latest released tag.
0049 3. Add the following to the list of includes in `.gitlab-ci.yml`:
0050
0051 ```yml
0052 include:
0053 ...
0054 - https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/flatpak.yml
0055 ```
0056
0057 After this, your repository should have Flatpak CI builds enabled and will run
0058 on every pipeline run. Flatpak CI builds will also generate artifacts.
0059
0060 For now, application maintainers need to ensure all modules in manifests are up
0061 to date. Developers can run the
0062 [flatpak-external-data-checker](https://github.com/flathub/flatpak-external-data-checker)
0063 to manually update external dependencies.
0064
0065 We will add automation in the future to check for updates and open merge
0066 requests.
0067
0068 ## Issues
0069
0070 Issues can be reported on the issues tab, or discussed on [#flatpak:kde.org](https://matrix.to/#/#flatpak:kde.org).