LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater...

14
1 LibreOffice's automatic updater work LibreOffice’s automatic updater work Markus Mohrhard 2018-09-28

Transcript of LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater...

Page 1: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

1LibreOffice's automatic updater work

LibreOffice’s automatic updater work

Markus Mohrhard2018-09-28

Page 2: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

2LibreOffice's automatic updater work

Motivation

5.2.4.2 still on the top

About 1000 crashes for 5.2.4.2 each day

1.12 million crash reports for 5.2.4.2 in total

Page 3: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

3LibreOffice's automatic updater work

Motivation

Can we make sense of these numbers?

Which version is better?

Did we manage to improve quality with each release?

Can we detect a huge spike?

Page 4: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

4LibreOffice's automatic updater work

Component overview

Page 5: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

5LibreOffice's automatic updater work

Overview

mar based updater service

Merged to master from a feature branch

Updater is actually an own process

Works with daily builds alreadyLinux done as a jenkins jobWindows done manually on my machine

Incremental updatesCurrently for daily builds between 1 and 10 MB

Page 6: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

6LibreOffice's automatic updater work

Design I – Checking for available updates

Update server LibreOffice download server

Request information about updates for my version/languages

Return xml snippet with info

Request update files Return files

LibreOffice during start-up

Start the updater process

Page 7: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

7LibreOffice's automatic updater work

Windows onlyDesign II

Old LibreOfficeUpdater

ExecutableUpdaterService

UpdaterExecutable(privileged)

New LibreOffice

Page 8: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

8LibreOffice's automatic updater work

Updater Service

System service for automatic updating on Windows

Builds and works but not integrated into our installer yetMissing integration into MSIQuite a bit of low level Windows work necessary

Huge missing pieceHigh priority

Page 9: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

9LibreOffice's automatic updater work

Server

Small django app that serves small update snippets

Stores hash, size and location of the update files

Collects some statistics about versions

More work on statistics and stability are necessary

https://github.com/mmohrhard/updater

Running test instance: http://vm195.documentfoundation.org

Page 10: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

10LibreOffice's automatic updater work

Server response

http://vm195.documentfoundation.org/update/check/1/LibreOfficeDev/d6c4c576ef71f2294ec

8eefc6576a797220e6809/Linux_X86_64/daily-master-gandalf

Page 11: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

11LibreOffice's automatic updater work

Windows MSI

MSI has an own incremental update format – MSP

No MSI/MSP support in Mozilla code

MSP generation in LibreOffice is a horrible messDifferent way to run the packagingConfiguration for MSP generation really complicatedPart of the LibreOffice build – Why?

Page 12: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

12LibreOffice's automatic updater work

libreoffice-msp-generator

https://github.com/mmohrhard/libreoffice-msp-generator

Uses already build MSI files

Same config variables as LibreOffice msp build

Packaged pcp files

MSP files are not perfect yetMore work needed

Page 13: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

13LibreOffice's automatic updater work

Automated testing

How to make sure that incremental updates produce correct builds?

Testing surface explodes

Interacts with the system a lot

UI testing to the rescue?

Page 14: LibreOffice Conference - Markus Mohrhard 2018-09-28...2018-09-28 2 LibreOffice's automatic updater work Motivation 5.2.4.2 still on the top About 1000 crashes for 5.2.4.2 each day

14LibreOffice's automatic updater work

All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.

Thank you …

… listening!… for supporting LibreOffice!