Continuous Integration Notes

Fuego is intended to be used for continuous integration of a Linux system.

This page documents continuous integration options for testing Fuego itself.

Alternatives [edit section]

There are different approaches available for implementing this system:

pros, cons, issues [edit section]

Fuego testplan [edit section]

Questions:

Notes:

Fuego test [edit section]

Jenkins pipeline [edit section]

Plan [edit section]

things that were painful when building release table [edit section]

See Release_test_results

What do I want to see? [edit section]

Notes on making and using the different CI approaches [edit section]

fuego testplan approach [edit section]

Here's what I did for to create fuego_nightly.batch:

I created testplan_fuego_nightly1.json and testplan_fuego_nightly2.json by copying from testplan_default.json and testplan_fuego_test.json

Note that I added 'reboot': 'true' to Functional.OpenSSL, because it follows LTP, and I want the board restarted after that test. I'm not sure this will work, because likely <board>.default.Functional.OpenSSL already exists, and won't be created with that flag set on the job.

Then I added jobs for these tests:

Note that this creates the sub-jobs, as well as the batch jobs for fuego_nightly* operations.

Then I created a single "cover" job called fuego_nightly.batch. This jobs had a post-build action of:

I added a build trigger of "Build periodically", with a schedule line of:

Another option would have been to schedule each of the <board>.testplan_fuego_nightly* jobs with the schedule "H H(0-7) * * *", instead of making a cover job that runs at midnight.

I changed the schedule to "0 7 * * *", to be 7 am UTC, which corresponds to 11:00 pm on my host machine (Pacific Standard Time).

I added, at the front of testplan_fuego_nightly1 a reference to Benchmark.reboot.

I created a view called 'nightly' so I'd have easy access to the batch jobs.

ideas to do [edit section]