Page MenuHomePhabricator

Open CI
Updated 1,381 Days AgoPublic

Trusted Firmware CI Infrastructure Project - Phase 2

Project Milestones & Status

MilestoneDeliverablesTarget CompletionStatus
M1Planning, Handover and Deployment
SOW and project plan
Hand over from OCE to Developer Services
1-Jun-20 Completed

Project Plan & SoW Reviewed. Meetings have been held and follow on meetings will occur as normal course of the project
M2Arm CI Jobs migration - CR-01
Arm CI Jobs migration (6217, 6384, 6416, 6417, 6217, 6466)
FVP Support (TF-M ID3, TF-A ID26)
FVP models running CI jobs (LSS-1393, 5180, CR-01)
Staging Scripts (TF-M ID7, TF-A ID7)
A staging version of the scripts created on the production instance (LSS-1430)
Job configuration
Ability to build multiple configurations of TF-A (TF-A ID9, tf-a-job-configs/4917 superseded by CR-01)
Provide a way to re-trigger the jobs manually (TF-A ID3, LSS-1470)
Ability to specify at run time that a CI job should keep all artifacts indefinitely. (TF-A ID22 LSS-1485)
TF-A Static Analysis Integration (TF-A ID17, TF-A ID19)
Arm check scripts (4938 superseded by CR-01)
cppcheck (4938 superseded by CR-01)
Coverity Free online check (4938 superseded by CR-01)
TF-M Static Analysis Integration (TF-M ID1)
Arm check scripts (4973, 4972)
cppcheck
Coverity Free online check (tf-m-ci-scripts/5293)
M3 & M4TF-A Tests
Create CI loop for TF-A Tests (TF-A ID2, 4873 superseded by CR-01)
Ability to build multiple configurations of TF-A Tests (TF-A ID12, 4917 superseded by CR-01)
CI results for TF-A and TF-TF must stay available for a minimum duration (eg. 1 week) (TF-A ID21)
Run TF-TF tests "bare metal" on FVP (TF-A ID24 5180 superseded by CR-01)
Test Levels
Provide facility for a job to pass the "level" of testing required, eg. minimal, full, etc., where different tests are executed depending on the level passed into (TF-M ID10, TF-A ID31, CR-01)
M5 Specify FVP Versions (TF-A ID13)
- Update FVP support to host multiple versions of models
- Allow jobs to specify which version of FVP models are used
Compilers accessed in the docker containers
Ability to integrate alternative compilers into builds (TF-M ID9, TF-A ID10 ) dockerfiles/+/5454
Ability to use different versions of a compiler for builds (TF-A ID11)
Integrate one alternative compiler and have two versions of the standard Arm GCC compiler to demonstrate how the functionality works. Compilers should be secure, preventing users from accessing them directly, and should only be used for building TF CI jobs


M6, M7 & M8 Musca A/B1 Support (TF-M ID5)
Musca B1 board installed in Linaro Cambridge LAVA lab.
Musca B1 board support integrated into the CI loop.
(LSS-1414)
Dashboard configured in SQUAD instance (TF-M ID2, TF-A ID32)
Metrics and test results from LAVA jobs visible in the SQUAD dashboard
Deploy HTML Reports (TF-A ID23)
Deliver ongoing Linaro internal work to produce HTML reports from SQUAD data
Boot Results passed to Gerrit (No ID)
Use the LAVA notification service to pass boot results back to the review that triggered the job(s)
QEMU Support (TF-M ID4)
Integrate the QEMU SSE-200 v8m machine into the CI loop.
Musca A removed and S1 on hold for Phase 3 (per 7/2 Meeting).
M9Integrate PSA compliance tests (TF-M ID6)
- Provide a build option to run PSA API tests
- Ensures patches will not break PSA compliance
Milestone Timeboxed to 20 days /per Dec Board Approval
M10Modularise Build and Test Process
- Remove all configuration out of the scripts and into the YAML provided to control the job. (TF-M ID14)
- Allow the user to trigger a job with default, custom or release parameters. This gives limited permissions to the user to create jobs. (TF-M ID18)
Milestone removed /per Dec Board approval
M11Documentation and User Guide (TF-M ID8)
- How to use the complete CI loop
- How to integrate a new platform, including boards in a LAVA Federated lab
- How to deploy your own instance
Milestone Timeboxed to 10 days /per Dec Board Approval
NewRequest to add Rich Text Plugin for Jenkins
- Used to navigate CI status, artifacts and results.
Completed In Progress Blocked

How to submit LSS tickets to Linaro

  1. Go to https://projects.linaro.org/secure/CreateIssue!default.jspa
  1. Fill in the drop down boxes:
    • Project: LAB & System Software (LSS)
    • Issue Type: Ticket
    • Click Next
  1. Fill in the required details
    • Summary: You should fill in the "Summary" with a snappy title. I've started to prefix my titles with "TF CI: " to help identify them in the list of issues.
    • Components: "Systems (Bugzilla, Git, Gerrit, Jenkins)"
    • Client Stakeholder: "Trusted-Firmware"
  1. Fill in the issue Description
    • You will need to fill in the Description, even if you think the title is sufficient. Provide enough overview detail so the issue is clear to understand by management, but make sure you include all the technical details you need for the support engineer to reproduce and resolve your problem.
  1. Click the "Create" button at the bottom of the page
  1. Add Watchers
    • It's probably a good idea to add Bill Fletcher and Ryan Harkin to the Watchers on the ticket.

If you are unable to create a ticket or have issues, you may need Jira access setup. Please contact: Glen (glen.valante@linaro.org) or Bill (bill.fletcher@linaro.org) or Ryan (ryan.harkin@linaro.org)

Last Author
gvalante
Last Edited
Feb 8 2021, 10:01 PM

Event Timeline

bfletcher created this object.Jun 4 2020, 2:55 PM
gvalante edited the content of this document. (Show Details)Jun 4 2020, 5:02 PM
gvalante edited the content of this document. (Show Details)Jun 4 2020, 9:00 PM
gvalante edited the content of this document. (Show Details)Jun 10 2020, 2:25 PM
gvalante added a subscriber: gvalante.
Karl added a subscriber: Karl.Jun 11 2020, 7:50 AM
gvalante edited the content of this document. (Show Details)Jun 17 2020, 3:23 PM

Hi, for the static analysis checks, is it possible to update/increase the rules per platform? Also, is it possible to introduce more scanners for a platform?

-Varun

Hi Varun,
Yes, both are possible, but if I understand you correctly, they are out of scope for the Phase 2 project.

Hi Ryan,

I agree that this wont be part of phase 2. I just wanted to know how this would scale up for more platforms and if there is any room for platforms to increase scanners and rules.

For Tegra platforms, at least, we use CERT and CCM scanners. We also enable more MISRA rules than TF-A. I'm glad that we will have the freedom to enable them with OpenCI at some point.

-Varun

gvalante edited the content of this document. (Show Details)Jun 26 2020, 8:05 PM
gvalante edited the content of this document. (Show Details)Jun 29 2020, 8:34 PM
gvalante edited the content of this document. (Show Details)Jul 1 2020, 3:58 PM
gvalante edited the content of this document. (Show Details)Jul 1 2020, 4:09 PM
gvalante edited the content of this document. (Show Details)Jul 2 2020, 4:22 PM
gvalante edited the content of this document. (Show Details)Jul 15 2020, 7:17 PM
gvalante edited the content of this document. (Show Details)Jul 17 2020, 3:58 PM
lsandov1 edited the content of this document. (Show Details)Jul 29 2020, 6:41 PM
lsandov1 edited the content of this document. (Show Details)
lsandov1 edited the content of this document. (Show Details)Jul 29 2020, 6:43 PM
lsandov1 edited the content of this document. (Show Details)Jul 29 2020, 7:13 PM
lsandov1 edited the content of this document. (Show Details)Jul 29 2020, 7:22 PM
lsandov1 published a new version of this document.
gvalante edited the content of this document. (Show Details)Jul 29 2020, 8:22 PM
omnium21 edited the content of this document. (Show Details)Jul 29 2020, 8:27 PM
gvalante edited the content of this document. (Show Details)Aug 4 2020, 8:35 PM
gvalante edited the content of this document. (Show Details)
lsandov1 edited the content of this document. (Show Details)Aug 5 2020, 4:07 PM
lsandov1 published a new version of this document.
omnium21 edited the content of this document. (Show Details)Aug 6 2020, 8:10 AM
gvalante edited the content of this document. (Show Details)Aug 13 2020, 11:54 AM
lsandov1 edited the content of this document. (Show Details)Aug 13 2020, 11:17 PM
lsandov1 published a new version of this document.
lsandov1 edited the content of this document. (Show Details)Aug 21 2020, 10:26 PM
lsandov1 published a new version of this document.
gvalante edited the content of this document. (Show Details)Aug 25 2020, 6:15 PM
lsandov1 edited the content of this document. (Show Details)Aug 26 2020, 10:33 PM
lsandov1 published a new version of this document.
bfletcher edited the content of this document. (Show Details)Sep 2 2020, 4:54 PM
lsandov1 edited the content of this document. (Show Details)Sep 2 2020, 6:25 PM
lsandov1 edited the content of this document. (Show Details)Sep 2 2020, 11:41 PM
gvalante edited the content of this document. (Show Details)Sep 9 2020, 1:12 AM
gvalante edited the content of this document. (Show Details)Sep 9 2020, 3:06 PM
gvalante edited the content of this document. (Show Details)Sep 23 2020, 6:25 PM
lsandov1 edited the content of this document. (Show Details)Oct 12 2020, 3:39 PM
lsandov1 edited the content of this document. (Show Details)
lsandov1 edited the content of this document. (Show Details)Oct 12 2020, 3:43 PM
lsandov1 published a new version of this document.Oct 12 2020, 3:45 PM
lsandov1 edited the content of this document. (Show Details)Oct 13 2020, 3:35 PM
lsandov1 edited the content of this document. (Show Details)Oct 14 2020, 1:41 PM
lsandov1 edited the content of this document. (Show Details)
lsandov1 edited the content of this document. (Show Details)Oct 14 2020, 1:45 PM
lsandov1 edited the content of this document. (Show Details)Oct 14 2020, 1:55 PM
lsandov1 edited the content of this document. (Show Details)Oct 14 2020, 1:57 PM
lsandov1 published a new version of this document.
gvalante edited the content of this document. (Show Details)Oct 15 2020, 1:22 AM
gvalante edited the content of this document. (Show Details)Oct 15 2020, 3:27 PM
gvalante edited the content of this document. (Show Details)
lsandov1 edited the content of this document. (Show Details)Oct 16 2020, 10:09 PM
lsandov1 published a new version of this document.
gvalante edited the content of this document. (Show Details)Oct 21 2020, 4:38 PM
gvalante edited the content of this document. (Show Details)Dec 3 2020, 12:59 PM
gvalante edited the content of this document. (Show Details)Dec 4 2020, 9:14 PM
gvalante edited the content of this document. (Show Details)Dec 4 2020, 10:36 PM
gvalante edited the content of this document. (Show Details)Dec 8 2020, 7:45 PM
gvalante edited the content of this document. (Show Details)Dec 31 2020, 5:22 PM
gvalante edited the content of this document. (Show Details)Feb 8 2021, 10:01 PM