Convenció de l’anomenat de branques¶
Les nostres convencions d’anomenat de branques asseguren que el programari es pot compilar pel nostre CI i comprovat fàcilment per d’altres desenvolupadors.
Cada fitxer README d’un dipòsit GIT hauria d’especificar quina convenció d’anomenat de branques s’usa i possibles desviacions de la norma.
Paquets-click¶
El programari que es distribueix exclusivament com un paquet-click (i no també com un deb) sols usa una branca master que està protegida. Les branques temporals separades amb noms descriptius arbitraris es poden crear i fusionar al master quan arribi el moment. Per marcar i arxivar fites a la història de desenvolupament, s’hauria d’usar idealment etiquetes Git o Github.
Paquets-deb¶
Per ajudar-nos a lliurar el nostre codi a Ubuntu Touch el més sense esforç possible, el nostre CI construeix automàticament els nostres repositoris Git en una sèrie d’arxius APT allotjats a http://repo.ubports.com/, segons el nom de la branca.
Mantenim les següents sucursals a través dels repositoris de Git:
Branques del Git |
Descripció |
Arxius APT corresponents |
|
|---|---|---|---|
Nom |
Distro |
||
|
Representa l’últim desenvolupament d’Ubuntu Touch. En aquesta branca es permeten tot tipus de canvis. |
|
Darrera o propera Ubuntu LTS. |
|
Debian testing. |
||
|
Representa el codi en una versió major en particular. S’aparta de la branca |
|
Ubuntu LTS en el moment de la ramificació. |
|
Un cas especial de |
|
Ubuntu 20.04 LTS. |
|
Branques que utilitzen el sistema obsolet d”«extensions de ramificació» per a canvis de components creuats. Ja no es recomana l’ús. |
|
Ubuntu 20.04 LTS. |
|
Totes les altres branques es poden utilitzar per proposar sol·licituds de fusió o per altres motius. Aquestes branques no són construïdes per la CI llevat que es proposin com a sol·licitud de fusió. |
N/A, llevat que es proposi com a MR contra les branques esmentades (vegeu més avall). |
|
Per assegurar que la branca main no perdi cap canvi, tots els canvis s’han de fer contra la branca main primer abans de tornar enrere a les branques d’alliberament principals. Una excepció és quan un canvi ja no és aplicable a la branca main a causa d’altres canvis en aquesta branca.
Nota
Si la propera versió de desenvolupament encara no està disponible per a proves, i necessiteu que el canvi estigui disponible per a instal·lar-lo per a proves, se us permetrà dirigir temporalment el conjunt de canvis a la branca de versió principal per a obtenir paquets construïts contra aquesta versió. Quan el conjunt de canvis estigui llest per a fusionar-se, el conjunt de canvis haurà de tornar a ser dirigit a la branca main .
Arxius APT per a sol·licituds de fusió¶
A més dels arxius esmentats anteriorment, també creem arxius APT per a MRs (sol·licituds de fusió) realitzats contra els nostres repositoris Git. Això ens permet provar el resultat de la construcció en dispositius reals utilitzant ubports-qa abans de fusionar el codi. Per a cada MR, l’IC construirà el codi contra tots els mateixos objectius que la branca de destinació de l’MR, i després els afegirà _-_PR_<nom de dipòsit>_<número MR> [1]. Per exemple:
Un MR numerat 100 fet contra la branca
maindel repositori Gitlomiri(quan l’actual Ubuntu LTS ésnoble) tindrà arxius APT anomenatsdevel-noble_-_PR_lomiri_100idevel-debian_-_PR_lomiri_100.Un MR numerat 125 fet contra la branca
ubports/24.6.xdel repositori Gitmorph-browsertindrà un arxiu APT anomenat24.6.x-PRmorph-browser125.