The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Test process

From Mer Wiki
(Difference between revisions)
Jump to: navigation, search
(New page: = Process = We center Mer contribution around our Gerrit instance and git, http://monster.tspre.org:8080 . Every single package is in git and the Core (+ ports) is described in xml files ...)
 
Line 9: Line 9:
 
Code review: ssh -p 29418 username@monster.tspre.org gerrit review PATCHSET -m "Message" --code-review SCORE
 
Code review: ssh -p 29418 username@monster.tspre.org gerrit review PATCHSET -m "Message" --code-review SCORE
  
== When a change to a package is done ===
+
== When a change to a package is proposed ==
  
 
=== Step X: Checking if it builds on it's own ===
 
=== Step X: Checking if it builds on it's own ===
Line 59: Line 59:
 
6. Wait for it to finish building. If there is 'failed' packages, review to gerrit -1 "I would prefer that you didn't submit this", along with which packages it broke and URLs to their build logs, else +1 "Looks good to me, but someone else must approve"
 
6. Wait for it to finish building. If there is 'failed' packages, review to gerrit -1 "I would prefer that you didn't submit this", along with which packages it broke and URLs to their build logs, else +1 "Looks good to me, but someone else must approve"
  
7. Delete project REPO
+
7. If successful, pass on (method unknown so far) repository to vendors in community for them to test as part of images, else delete repository

Revision as of 08:19, 16 October 2011

Contents

Process

We center Mer contribution around our Gerrit instance and git, http://monster.tspre.org:8080 . Every single package is in git and the Core (+ ports) is described in xml files inside a git repository.

Terms

QA build server: OBS that does builds to verify if sources work okay

Code review: ssh -p 29418 username@monster.tspre.org gerrit review PATCHSET -m "Message" --code-review SCORE

When a change to a package is proposed

Step X: Checking if it builds on it's own

1. Create unique OBS repository, REPO

2. Create package (basename of project/packagename) in REPO

3. Locally, check out git (GERRIT/project/packagename) and merge proposed change from branch. Change ref can be found with 'ssh -p 29418 username@monster.tspre.org gerrit query status:merged --patch-sets --format JSON' (status:merged can be any kind of query) and it will give you patchsets + refs.

4. Upload sources to OBS package in REPO

5. Point to repositories in REPO:

for each ARCH, ARCHSCHEDULER, add in

<repository name="Core_ARCH">
 <path repository="Core_ARCH" project="fakeobs:Core:ARCH" />
 <arch>ARCHSCHEDULER</arch>
</repository>

6. Wait for build to finish of package for each architecture. For 'succeeded' build, code review with +1 "Looks good to me, but someone else must approve", for failed, code review with -1 "I would prefer that you didn't submit this" along with URL to build log,. For 'excluded', report which architecture in comment with 0, no score.

Step X+1: Integration testing

This will check the package does not break other packages.

For each ARCH, ARCHSCHEDULER:

1. Create unique OBS repository, REPO

2. Create package (basename of project/packagename) in REPO

3. Locally, check out git (GERRIT/project/packagename) and merge proposed change from branch. Change ref can be found with 'ssh -p 29418 username@monster.tspre.org gerrit query status:merged --patch-sets --format JSON' (status:merged can be any kind of query) and it will give you patchsets + refs.

4. Upload sources to OBS package in REPO

5. Set up localdep:

<link project="fakeobs:Core:ARCH" />
<repository name="Core_ARCH" linkedbuild="localdep">
 <path repository="Core_ARCH" project="fakeobs:CORE:ARCH" />
 <arch>ARCHSCHEDULER</arch>
</repository>

6. Wait for it to finish building. If there is 'failed' packages, review to gerrit -1 "I would prefer that you didn't submit this", along with which packages it broke and URLs to their build logs, else +1 "Looks good to me, but someone else must approve"

7. If successful, pass on (method unknown so far) repository to vendors in community for them to test as part of images, else delete repository

Personal tools