Diff for "Packaging/BuildScores"

Not logged in - Log In / Register

Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2009-05-06 14:51:50
Size: 2997
Editor: 92-237-59-186
Comment:
Revision 9 as of 2012-06-18 14:42:55
Size: 3802
Editor: cjwatson
Comment: update to current code
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 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
 * time the package has spent in the build queue
Line 22: Line 24:
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 28:
Launchpad gives a higher score to builds depending on the importance of their target pocket.
Line 29: Line 29:
|| -proposed || 0 ||
|| -backports || 1500 ||
|| <release> || 3000 ||
|| -updates || 4500 ||
|| -security || 6000 ||
|| -backports ||    0 ||
|| <release>  || 1500 ||
|| -proposed
|| 3000 ||
|| -updates || 3000 ||
|| -security || 4500 ||
Line 37: Line 37:

Launchpad gives a higher score to builds depending on the importance of their target component.
Line 59: Line 57:
=== Time in queue === === Package sets ===
Line 61: Line 59:
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. Currently, package sets in the Ubuntu distribution that are used to build images receive bonuses as follows:
Line 63: Line 61:
|| '''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 74:
=== Archive privacy === === Archives ===
Line 80: Line 82:
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.


=== Build queue time ===

Build scores increase the longer a package has spent in the queue.

|| '''Queue time''' || '''Score''' ||
|| less than 5 minutes || 0 ||
|| 5 to 15 minutes || 5 ||
|| 15 to 30 minutes || 10 ||
|| 30 to 60 minutes || 15 ||
|| 60 to 120 minutes || 20 ||
|| 120 to 240 minutes || 50 ||
|| more than 240 minutes || 100 ||
Line 83: Line 107:
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. In some circumstances, Launchpad assigns a fixed, low score to builds, meaning they will be processed only when there isn't anything else in the queue:
Line 85: Line 109:
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.  * '''translation:''' builds for sources targeted to the ''translations'' section get a fixed score of 0.

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.

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
  • time the package has spent in the build queue

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. 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.

Build queue time

Build scores increase the longer a package has spent in the queue.

Queue time

Score

less than 5 minutes

0

5 to 15 minutes

5

15 to 30 minutes

10

30 to 60 minutes

15

60 to 120 minutes

20

120 to 240 minutes

50

more than 240 minutes

100

Other

In some circumstances, Launchpad assigns a fixed, low score to builds, meaning they will be processed only when there isn't anything else in the queue:

  • translation: builds for sources targeted to the translations section get a fixed score of 0.

< Packaging

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