Diff for "Packaging/BuildScores"

Not logged in - Log In / Register

Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2009-05-06 14:51:50
Size: 2997
Editor: 92-237-59-186
Comment:
Revision 14 as of 2018-01-11 15:11:51
Size: 3440
Editor: cjwatson
Comment: generalise PPA build queue link
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
~- [[FrontPage|Launchpad Help]] > [[Packaging]] > Prioristing builds -~ ~- [[FrontPage|Launchpad Help]] > [[Packaging]] > Prioritising builds -~
Line 6: Line 6:
When you upload a source package to Launchpad, it assigns the package a priority and then uses the priority to decide when the package should be sent to Launchpad's [[https://launchpad.net/builders|build-farm]].  When you upload a source package to Launchpad, it assigns the package a priority -- a "score" -- and then uses that score to decide when the
package should be sent to Launchpad's [[https://launchpad.net/builders|build-farm]].
Line 8: Line 9:
Launchpad calculates the priority of the build based on its attributes. We call this the build's "score". The higher the score, the sooner the build is dispatched to one of the available build machines. Launchpad calculates the score based on various attributes (described below). The higher the score, the sooner the build is dispatched to one of the available build machines.
Line 10: Line 11:
There are separate build queues for [[https://launchpad.net/ubuntu/+builds|distributions]] and [[https://launchpad.net/~cprov/+archive/ppa/+builds|PPAs]]. There are separate build queues for [[https://launchpad.net/ubuntu/+builds|distributions]] and PPAs (PPA → View package details → View all builds).
Line 16: Line 17:
 * target pocket -- e.g. security
 * target component -- e.g. universe
 * target [[Glossary#pocket|pocket]] -- e.g. security
 * target [[Glossary#component|component]] -- e.g. universe
Line 19: Line 20:
 * time since upload to the queue
 * whether the package is destined for a public or private PPA.
 * package sets containing the package
 * archive containing the package
Line 22: Line 23:
The build score is the sum of all the scores that Launchpad awards the build for each of these criteria. Launchpad adds up the scores from each category to decide the build's priority.
Line 26: Line 27:
Launchpad gives a higher score to builds depending on the importance of their target pocket.
Line 29: Line 28:
|| -proposed || 0 ||
|| -backports || 1500 ||
|| <release> || 3000 ||
|| -updates || 4500 ||
|| -security || 6000 ||
|| -backports ||    0 ||
|| <release>  || 1500 ||
|| -proposed
|| 3000 ||
|| -updates || 3000 ||
|| -security || 4500 ||
Line 37: Line 36:

Launchpad gives a higher score to builds depending on the importance of their target component.
Line 59: Line 56:
=== Time in queue === === Package sets ===
Line 61: Line 58:
Rather than allow low priority packages to linger in the queue for too long, Launchpad increases a build's priority according to its age. Package sets are used in distributions to apply properties such as upload permissions to groups of packages. A package set may have a "relative build score" bonus assigned to it in the Launchpad database, and a package receives the maximum of the bonuses for any of the package sets that contain it. These bonuses don't apply to PPA builds. Currently, package sets in the Ubuntu distribution that are used to build images receive bonuses as follows:
Line 63: Line 60:
|| '''Age [in seconds]''' || '''Score''' ||
|| 300 || 5 ||
|| 900 || 10 ||
|| 1800 || 15 ||
|| 3600 || 20 ||
|| 7200 || 50 ||
|| 14400 || 100 ||
|| '''Package set''' || '''Score''' ||
|| core || 50 ||
|| desktop-core || 50 ||
|| edubuntu || 50 ||
|| kubuntu || 50 ||
|| lubuntu || 50 ||
|| mythbuntu || 50 ||
|| ubuntu-desktop || 50 ||
|| ubuntu-server || 50 ||
|| ubuntustudio || 50 ||
|| xubuntu || 50 ||
Line 72: Line 73:
=== Archive privacy === === Archives ===
Line 80: Line 81:
Builds destined for copy archives (used for test rebuilds of the Ubuntu primary archive) are given a lower priority.

|| '''Copy archive?''' || '''Score''' ||
|| yes || -2600 ||
|| no || 0 ||

Archives may also have a "relative build score" bonus assigned to them in the Launchpad database.
Line 83: Line 92:
Builds targeted to copy archive get a fixed score of 4, so even the least prioritized build will be dispatched before anything from COPY archives.

Builds for sources targeted to the 'transalation' section get a fixed score of 0, meaning they will be processed only when there isn't anything else in the queue.
Builds for sources targeted to the ''translations'' section don't get any package bonuses, meaning they will be scored at the base score for the archive and processed after all other builds for that archive.

Launchpad Help > Packaging > Prioritising builds

Prioritising builds

When you upload a source package to Launchpad, it assigns the package a priority -- a "score" -- and then uses that score to decide when the package should be sent to Launchpad's build-farm.

Launchpad calculates the score based on various attributes (described below). The higher the score, the sooner the build is dispatched to one of the available build machines.

There are separate build queues for distributions and PPAs (PPA → View package details → View all builds).

How Launchpad calculates the score

Launchpad uses the following attributes of a package to calculate its priority:

  • target pocket -- e.g. security

  • target component -- e.g. universe

  • source urgency -- defined by the packager
  • package sets containing the package
  • archive containing the package

Launchpad adds up the scores from each category to decide the build's priority.

Target pocket

Pocket

Score

-backports

0

<release>

1500

-proposed

3000

-updates

3000

-security

4500

Target component

Component

Score

multiverse

0

universe

250

restricted

750

main

1000

partner

1250

Source urgency

A packager can specify the urgency of their source package. Launchpad takes this into account.

Urgency

Score

low

5

medium

10

high

15

emergency

20

Package sets

Package sets are used in distributions to apply properties such as upload permissions to groups of packages. A package set may have a "relative build score" bonus assigned to it in the Launchpad database, and a package receives the maximum of the bonuses for any of the package sets that contain it. These bonuses don't apply to PPA builds. Currently, package sets in the Ubuntu distribution that are used to build images receive bonuses as follows:

Package set

Score

core

50

desktop-core

50

edubuntu

50

kubuntu

50

lubuntu

50

mythbuntu

50

ubuntu-desktop

50

ubuntu-server

50

ubuntustudio

50

xubuntu

50

Archives

Builds destined for private PPAs are given a higher priority.

Privacy status

Score

public

0

private

10000

Builds destined for copy archives (used for test rebuilds of the Ubuntu primary archive) are given a lower priority.

Copy archive?

Score

yes

-2600

no

0

Archives may also have a "relative build score" bonus assigned to them in the Launchpad database.

Other

Builds for sources targeted to the translations section don't get any package bonuses, meaning they will be scored at the base score for the archive and processed after all other builds for that archive.

< Packaging

Packaging/BuildScores (last edited 2020-08-26 15:57:45 by doismellburning)