Frameworks/Meetings/201409Akademy

From KDE Community Wiki

Akademy 2014 Frameworks BoF

Hosted by Kevin Ottens and the KDE Frameworks crew.

Notes taken during the meeting on etherpad (not really, network not stable enough).

Agenda

  • Practices topics
    • Branch policy
    • Commit hooks and reviews -- want to use Gerrit?
    • Getting more tests
    • Licence Policy - would it be useful to allow code from Qt into KF5?
  • Technical topics
    • libkonq
    • sycoca replacement
    • kdepimlibs
    • Accessibility
    • kglobalaccel runtime parts in kglobalaccel itself?
    • Windows installers
    • i18n status

Meeting Notes

Branch Policy

There is no branch, everything happens in master.

Feature branches: Should be very short lived, if they live longer than 2-3 weeks look at splitting them into smaller changes. Might not be best suited for ReviewBoard review, alternative review approaches are allowed. Rebase/split into independent commits is possible, force pushing is currently disabled on the main repos (possible on personal clones, or with new branches).

Lack of long term stable branches caused concerns from packagers initially, try it nevertheless for now and see how well it works.

Commit Hooks and Reviews

Marco suggested a hook to check for the REVIEW tag, with a way to by-pass it quickly with "REVIEW: trust-me", just to force you to think about review. We want that.

Mandatory all-time review vs. non-review bypass option?

  • available manpower, threshold to do minor changes
  • we had a few cases of breakage due to skipped reviews


Gerrit:

  • Jan has it set up and ready for usage, interested repos need to be added manually at the moment (on both Gerrit and KDE Git sides)
  • anyone can push, any KDE developer can approve, Gitolite unaffected (direct pushes are still possible)
  • Jan is still working on pre-approval CI integration
  • How do the KDE Sysadmin feel about Gerrit?
  • Try on a few projects without really changing the current workflow, details on review policy configuration (self-approval, etc) for Gerrit left for later, first gain some experience with it.
  • Parallel use with current workflow is no problem, not conflicting with ReviewBoard and Gitolite.
  • There is a test repo for trying it.
  • Pay attention to project monitoring and adding reviewers so nothing is lost, handled differently compared to ReviewBoard notifications to mailing lists.
  • Try on KIO and plasma-framework until end of year, then re-evaluate.
  • We would need new documentation, especially for newbies.

Getting More Tests

Still low on tests, people would want more.

Push for more tests during reviews, for new stuff.

Make sure automated tests work without installation. Tricky due to ksycoca and QStandardPaths.

QStandardPaths:

  • has test mode for local files, but not for system files
  • making it more flexible tricky due to Mac/Windows issues
  • provide convenience to simplify that setup for tests
  • alternative: allow searching in QRC, that's cross-platform and relocatable
  • similar problem exists for all frameworks that search for data files, all need similar test setup options

Extra/betters tools for tests? See Shantanu's talk from yesterday and Zanshin for mock examples, currently not used in KF5 (yet).

Coverage not currently enabled on Jenkins, we would like to have that enabled for KF5. Needs an option to set the coverage build flags (got removed from ECM). Does Jenkins have enough computing power? Aleix will look into it.

Unstable tests? Either make stable or disable, there is no other way around that.

License Policy

Currently Qt code can't be copied into KDE lacking the LGPLv3 compatibility, but that is going to change. Do we need/want to adjust the license policy? Currently not really needed, wait until the need for this actually comes up.


Developer Story / SDK

Followup to the discussion in Randa on this topic.

CI/Jenkins skills missing, for:

  • adding non-Linux (Android, Windows).
  • generating tarballs and releases


Script for automagic environment setup to install distro-provided dependencies and build the rest, possibly based on kdesrc-build.

Documentation should be linked inside Qt documentation/Assistant.

kdesrc-build focus on contributor use, inqlude focus on KF5 users.

KDE specific tools in KDevelop (access to recent bugs, reviews, etc).



to be continued...