NewbieGuide

Differences between revisions 7 and 21 (spanning 14 versions)
Revision 7 as of 2014-07-03 12:46:45
Size: 3935
Editor: mvo
Comment:
Revision 21 as of 2015-09-02 04:11:39
Size: 1636
Editor: 1
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * read this document
* join #ubuntu-ci-eng
 * join #ubuntu-ci-choo-choo
and highlight on "trainguards" (the bot "CI-SNCF" has a bunch of commands (like where unity8))
 * wait for new rows in the spreedsheet (the CI-SNCF bot will notify you) and perform the "steps for a landing" described below
 * join #ubuntu-ci-eng and highlight on "trainguards"
 * wait for stuff to be ready for publishing (the bot will tell you about it) and perform the "steps for publishing" below
Line 16: Line 14:
 * Its all in one google spreedsheet https://wiki.ubuntu.com/citrain that mostly updates itself automatically (its a frontend to jenkins)
 * First column in the spreedsheet is important! Keep attention to the number of free silos, try to keep 1 slio free for emergency landings
 * The spreedsheet has multiple page (sheets), the main one is "pending", but there is also "Archive" that contains *all* of the history and pages for each landing slio.
 * Merge propoosal to land (row F) is important, order of the branches is important. Branches are not limited to a single project
 * Additional source packages to land: you need to dput these additional source packages from the archive into the silo PPA
 * QA sign off needed: only in effect if we are in train-con-zero - and then *only* stuff with QA-sign-off: no can enter the image
 * Ready? : really important, once its ready, assign to a silo via "landing team tools/assign silo" menu item (more see below)
== Steps for publishing ==
 * when a landing is built queuebot will say so in the #ubuntu-ci-eng channel
 * click the link queuebot pings
 * click on "publish" on the request, that links to a jenkins page
   * '''WARNING''' publish means to publish into the REAL archive - do not publish '''NEW''' packages without consulting archive admins
 * click on "build" on the jenkins form
 * if there are packaging changes the circle on the left will turn red and you need to review the build artifact with the packaging diff (e.g. nuntium_packaging_changes.diff), then click on "Build with Parameters" on the left and select ACK_PACKAGING
 * the status should be "blue" (successful), you can close the jenkins tab now
Line 25: Line 24:
== What steps for a landing ==
 * landing for a request:
   * check if it has a testplan
   * check if the package is locked already (via hoover over column F)
   * check that its ready
   * go to the "Landing team tools" menubar and click on "assign silo"
     * this generates a request-id that is valid for 5min
     * opens a dialog that you need to check
     * the jenkins tab opens, click on "proceed"
     * opens a jenkins job page
     * check that the speedsheet updates after some time
     * the details for the landing are in a spreedsheet page N, e.g. "landing-07"
     * its the job of the lander to click on "BUILD" on this spreedsheet page (which will bring you to a PPA)
   * once the thing is ready and the lander has executed the test plan he/she sets the status column to testing-done
   * once that is the case, we go to the landing sheet of the spreedsheet and click on "PUBLISH"
   * this brings you to jenkins
   * if there are changes in debian/* it generates a diff and that needs approval first via the "ACK_PACKAGING" box in the build jenkins subpage and press "build"
   * ???
   * lander will click on "merge & clean"


== What about CI-Airline ==
 * will replace all of CI-Train
   * no spreedsheet
   * no jenkins
   * see http://blueprints.launchpad.net/ubuntu/+spec/core-1311-ci-airline
   * designed by didrocks, worked on by citeam
 * will be ready ~July 2014

== Terms ==
 * Silo are PPAs that are used to prepare a landing
 * Landers are trusted people of the upstream project who can drive landing and do the final testing
 * TrainCon-Zero: when no new image is generated for 7 buisiness days this "emergency" state is reached and only critical fixes can go in
 * CI Train Sherrif is the guy/gal currently doing landings
Line 61: Line 25:
 * Main landing spreadsheet: https://wiki.ubuntu.com/citrain (refreshes every 5min)
 * Jenkins that is controlled via the spreedsheet: https://ci-train.ubuntu.com/
 * Code for the spreedsheet: lp:cupstream2distro
 * Main landing spreadsheet: https://wiki.ubuntu.com/citrain
Line 65: Line 27:
 * Low-level JSON with the silo status: http://people.canonical.com/~platform/citrain/
 * new coolness: http://people.canonical.com/~rbpark/citrain/
Line 68: Line 28:
 * https://wiki.ubuntu.com/citrain/FAQ
 *
 * The Daily release FAQ is valid under citrain: https://wiki.ubuntu.com/DailyRelease/FAQ (apart from "When do changes need to land in a coherent piece?" and "I want one of my commit not being part of debian/changelog")

Newbie guide

What you need to know if you are new to the citrain landing team:

What do do

  • join #ubuntu-ci-eng and highlight on "trainguards"
  • wait for stuff to be ready for publishing (the bot will tell you about it) and perform the "steps for publishing" below
  • the expectation is to do up to 50% of your work time on landings

What is it

The citrain is a tool to coordinate landing of new features. This includes building/testing and publishing.

Steps for publishing

  • when a landing is built queuebot will say so in the #ubuntu-ci-eng channel
  • click the link queuebot pings
  • click on "publish" on the request, that links to a jenkins page
    • WARNING publish means to publish into the REAL archive - do not publish NEW packages without consulting archive admins

  • click on "build" on the jenkins form
  • if there are packaging changes the circle on the left will turn red and you need to review the build artifact with the packaging diff (e.g. nuntium_packaging_changes.diff), then click on "Build with Parameters" on the left and select ACK_PACKAGING
  • the status should be "blue" (successful), you can close the jenkins tab now

citrain/NewbieGuide (last edited 2015-09-02 04:12:32 by 1)