Yesterday afternoon, the jenkins
stack-os-matrix job was converted from a
matrix job into a
pipeline job. There were several factors motivating this change:
- A number of irritating problems with the
matrixjob type that upstream is not interested in fixing as they consider
pipelineto be a replacement
- The desire to add aggregated
pytesttest reporting instead of having test reports for each os/python version recorded independently for each
- Compatibility with the “blueocean” dashboard
This has resulted in several end-user visible changes, including:
- Sadly, the old build history is gone. The build ID sequence was preserved but HTML links to builds prior to
matrixstatus on the build page is gone as are links to the “sub-configurations” (eg.,
- The console output from all build configurations are now merged into a single console under the “classic” jenkins UI (this is not true under “bluecoean”). Using blueocean to look at the console logs is recommended.
- The python version multiple choice parameter has been removed. The plugin that provided this parameter type has been deprecated and is incompatible with blueocean. All
stack-os-matrixbuilds now run on both py2 and py3.
Blueocean is a new jenkins UI/dashboard that is intended to eventually replace the classic Jenkins UI. It provides a modern web-app interface based on
react.js. This is a new project but it is evolving extremely quickly. There are still some rough spots but it is currently the best option for viewing the status of
pipeline jobs with “parallel branches” (eg,
Users are able to move between the “classic” UI and blueocean as desired. Most pages in the classic UI have a link in the left hand menu to open blueocean. Eg.:
Returning to “classic” UI
All blueocean pages have an exit icon in the top right hand corner than may be used to return to the classic UI.
Running a build
Starting from the
stack-os-matrix job page in blueocean:
Click on the
Input any desired build parameters and then click on the
Run button at the bottom of the dialog:
Pipeline status / console output can be accessed a couple of ways.
For a few seconds after starting a new build, there will be a status pop up in the lower left hand corner with an
Or at any time from the job page by clicking on the build description:
Console output from the various build configurations can be accessed by clicking on nodes in the pipeline status display. A running or queued node will be a hollow blue color, green if it finished successfully and red if there was a failure.
When a node / build configuration has stopped running, all of the console output section will be collapsed. The section of
stack-os-matrix of most (probably only) interest to end-users is
./buildbot-scripts/jenkins_wrapper.sh -- Shell Script.
Clicking on the section description will toggle it open/closed.
pytest / junit reports
As part of @timj’s recent work to switch to
pytest as a test runner, test results are being recorded in the
junit/xunit XML format which jenkins is able to parse and display.
junit test reporting has been added to
Please be aware that the test execution times reported in jenkins are currently wrong and should be ignored until a resolution is found.
blueocean test report
From the status page for a build, click on the
Tests tab in the upper right hand corner:
classic UI test report
From the build page, click on the
Test Result link: