CI Dashboard
Concepts and UI
Kernel
Build
Hardware
Pack Create
Media
Create
LAVA
Test
A Simple Job
● Job
○ a sequence of steps
● Build
○ Instance of a ...
Internal Artifact sharing
Latest GCC
Release
Kernel
Build
Hardware
Pack Create
Media
Create
LAVA
Test
Found by name + tags...
Job & Step Chaining
● You can call other jobs as a step in the current job
○ Allows you to do CI properly
■ Test passed = ...
Job Triggers
● Jobs can be triggered by
○ Time
○ VCS change
○ Another job completing
○ External system using API, e.g. a G...
Derive Job from existing...
● Copy
● Inherit
○ Copy, but changes made to parent job are reflected in
child configuration
○...
Tags
● Keep job name simple and descriptive
● Use tags to provide extra information
Ubuntu Panda SnowballGCC 4.7Linux Lina...
Configuration: Mux/DeMux
● Muxes allow you have a common stage in a job with
parallel steps.
Android
Baseline
Baseline
+ F...
Release Time...
Release Day
in 1 week
Linaro Image Tools
release build + test
Ubuntu
release build + test
Android
release ...
Putting it together: Front Page
1
Welcome Guest! Login
Name Status
GCC Trunk
HW Pack
(Snowball)
Search:
Build
2
Toolchain
...
Putting it together: Front Page
1
Welcome Guest! Login
Name Status
Search:
Build
2
Release
Android
Ubuntu
Toolchain
Graphi...
Putting it together: Job Result Page
Welcome Guest!
Build
Status: SUCCESS
Started: 2012-10-23 07:16:05
Finished: 2012-10-2...
Upcoming SlideShare
Loading in …5
×

LCE12: CI Dashboard prototype discussion

252
-1

Published on

Resource: LCE12
Name: CI Dashboard prototype discussion
Date: 29-10-2012
Speaker:

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
252
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LCE12: CI Dashboard prototype discussion

  1. 1. CI Dashboard Concepts and UI
  2. 2. Kernel Build Hardware Pack Create Media Create LAVA Test A Simple Job ● Job ○ a sequence of steps ● Build ○ Instance of a job ● Step ○ a single scripted action that is triggered on the successful completion of the previous step.
  3. 3. Internal Artifact sharing Latest GCC Release Kernel Build Hardware Pack Create Media Create LAVA Test Found by name + tags ● A step can use the output of a previous step and or job as an input ○ Public and license protected artifacts are findable ■ Licenses are sticky ○ Private artifacts stay private to their owners jobs ● Other jobs can be referenced by a combination of name, build number and tags.
  4. 4. Job & Step Chaining ● You can call other jobs as a step in the current job ○ Allows you to do CI properly ■ Test passed = ready to release ■ Use the same job to create the release ● If same inputs go into same job, should be able to use cached output. Merge Request Report result to merge requestor Ubuntu release test Check out branch(es) at given tag/rev Build Test Create release archive
  5. 5. Job Triggers ● Jobs can be triggered by ○ Time ○ VCS change ○ Another job completing ○ External system using API, e.g. a Gerrit review request. LAVAAPI Input Trigger daily, 19:00 Android
  6. 6. Derive Job from existing... ● Copy ● Inherit ○ Copy, but changes made to parent job are reflected in child configuration ○ User informed when change in parent conflicts with change in child config ○ Child picks up fixes and new steps from parent ○ Useful for long running feature branches ● Create Template ○ Just keep the bits of config you want ○ Templates available for all specialised job types
  7. 7. Tags ● Keep job name simple and descriptive ● Use tags to provide extra information Ubuntu Panda SnowballGCC 4.7Linux Linaro
  8. 8. Configuration: Mux/DeMux ● Muxes allow you have a common stage in a job with parallel steps. Android Baseline Baseline + Feature 1 Baseline + Feature 2 Test Android Baseline Results Baseline + Feature 1 Results Baseline + Feature 2 Results Equality Check
  9. 9. Release Time... Release Day in 1 week Linaro Image Tools release build + test Ubuntu release build + test Android release build + test Notify QA team: release candidate ready QA Team add tag: QA-OK Upload Android release Upload Ubuntu release Upload Linaro Image Tools release Tag as release candidate Tag as release (and remove RC tag)
  10. 10. Putting it together: Front Page 1 Welcome Guest! Login Name Status GCC Trunk HW Pack (Snowball) Search: Build 2 Toolchain Toolchain Test Android Build [R] LAVA Test Ubuntu [F] Media Create Snowball Kernel Build Release Android Ubuntu Toolchain Graphics Infrastructure Power Management ARM Samsung ST Ericsson Texas Instruments IBM Freescale Panda Snowball Pass Fail Not Built Running ALIP Developer gcc-6 gcc-7 Performance IKS big.LITTLE Android GCC Trunk [F] Android Build [R] LAVA Test Ubuntu Build LAVA Test New Build Toolchain Toolchain Test Android Build [R] LAVA Test Kernel Build Join RootFS HW Pack (Panda) Media Create Panda 93 150 7 Android JB Panda TI LTGCC 4.7 FreescaleGCC TrunkIMX.6ICS Panda SnowballGCC 4.7Linux Linaro GCC Trunk GCC Trunk Native Cross
  11. 11. Putting it together: Front Page 1 Welcome Guest! Login Name Status Search: Build 2 Release Android Ubuntu Toolchain Graphics Infrastructure Power Management ARM Samsung ST Ericsson Texas Instruments IBM Freescale Panda Snowball Pass Fail Not Built Running ALIP Developer gcc-6 gcc-7 Performance IKS big.LITTLE Android Build LAVA Test New Build 93 150 7 Android Android Android Android Android SnowballJB GCC 4.7 Igloo JB Panda TI LTGCC 4.7 ARM LTV.ExpressJB GCC 4.7 JB GCC 4.7Galaxy NexusAOSP JB GCC 4.7OrigenSamsung LT Android Build LAVA Test Android Build LAVA Test Android Build LAVA Test Android Build LAVA Test
  12. 12. Putting it together: Job Result Page Welcome Guest! Build Status: SUCCESS Started: 2012-10-23 07:16:05 Finished: 2012-10-23 09:47:47 Lava Test : Running <mini LAVA dasboard> Results Build Now Job Name: Android Baseline Test [#92] linaro_android_build_cmds.sh kernel_config linaro_kernel_build_cmds.sh pinned-manifest.xml source-manifest.xml target/product/pandaboard/pandaboard.img.bz2 Tag this build Job description... Reuse config... Android Release 12.10 Panda Jelly Bean QA-OK Tag this job Downloads Login Android build configuration... MANIFEST_REPO=git://android.git.linaro.org/platform/manifest.git MANIFEST_BRANCH=linaro_android_4.1.2 MANIFEST_FILENAME=tracking-panda.xml [imported from git://android.git.linaro.org/zack_rocks.git] BUILD_CONFIGURATION_FILENAME=linaro-build-config/tracking-panda.xml TARGET_PRODUCT=pandaboard TARGET_SIMULATOR=false Configuration Console output Downloads/ Internal Artifacts Time Trigger: daily, 19:00Input Trigger Master Step HowTo Search: ReadMe Build # Result 92 91 90 89 88 87 Date 2012-10-24 2012-10-23 2012-10-22 2012-10-21 2012-10-20 2012-10-19 Configure Job GCC 4.7 LAVARunningBaseline OK Input Trigger daily, 19:00 Android LAVA RunningBaseline OK Input Trigger daily, 19:00 Android

×