Add Jenkins entry from rodrigc
This commit is contained in:
parent
5b1301949d
commit
600ecca962
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48051
1 changed files with 153 additions and 0 deletions
|
@ -3337,4 +3337,157 @@
|
||||||
</task>
|
</task>
|
||||||
</help>
|
</help>
|
||||||
</project>
|
</project>
|
||||||
|
|
||||||
|
<project cat='proj'>
|
||||||
|
<title>Jenkins Continuous Integration for &os;</title>
|
||||||
|
|
||||||
|
<contact>
|
||||||
|
<person>
|
||||||
|
<name>
|
||||||
|
<given>Craig</given>
|
||||||
|
<common>Rodrigues</common>
|
||||||
|
</name>
|
||||||
|
<email>rodrigc@FreeBSD.org</email>
|
||||||
|
</person>
|
||||||
|
|
||||||
|
<person>
|
||||||
|
<name>Jenkins Administrators</name>
|
||||||
|
<email>jenkins-admin@FreeBSD.org</email>
|
||||||
|
</person>
|
||||||
|
|
||||||
|
<person>
|
||||||
|
<name>&os; Testing</name>
|
||||||
|
<email>FreeBSD-testing@freebsd.org</email>
|
||||||
|
</person>
|
||||||
|
</contact>
|
||||||
|
|
||||||
|
<links>
|
||||||
|
<url href="https://jenkins.FreeBSD.org">The Jenkins CI Server in the &os; Cluster</url>
|
||||||
|
<url href="https://github.com/Ultima1252/portest">Portest Script</url>
|
||||||
|
<url href="https://github.com/jenkinsci/workflow-plugin">Jenkins Workflow Plugin</url>
|
||||||
|
<url href="https://cloudbees.com">Cloudbees</url>
|
||||||
|
<url href="https://github.com/uber/phabricator-jenkins-plugin">Jenkins Phabricator Plugin</url>
|
||||||
|
<url href="https://github.com/uber/phabricator-jenkins-plugin/pull/110">Phabricator Plugin Fixes</url>
|
||||||
|
<url href="https://github.com/jenkinsci/durable-task-plugin/pull/14">Durable Task Plugin Fixes</url>
|
||||||
|
<url href="https://github.com/jenkinsci/clang-scanbuild-plugin/commits/master">Clang Scanbuild Plugin Fixes</url>
|
||||||
|
<url href="https://github.com/jenkinsci/multiple-scms-plugin/commits/master">Multiple SCMs Plugin Fixes</url>
|
||||||
|
<url href="https://github.com/jenkinsci/scm-sync-configuration-plugin/commits/master">SCM Sync Configuration Plugin Fixes</url>
|
||||||
|
<url href="https://lists.FreeBSD.org/pipermail/freebsd-testing/2016-January/001285.html">Porting Jobs to the Workflow Plugin</url>
|
||||||
|
<url href="https://github.com/kohsuke/akuma/pull/9">Akuma Fixes for &os;</url>
|
||||||
|
<url href="https://github.com/jmmv/kyua/pull/148">Kyua Fix for Invalid Characters</url>
|
||||||
|
</links>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<p>The Jenkins Continuous Integration and Testing project
|
||||||
|
has been helping to improve the quality of &os;. Since the last
|
||||||
|
status report, we have quickly found commits that caused build
|
||||||
|
breakage or test failures. &os; developers saw these problems and
|
||||||
|
quickly fixed them. Some of the highlights include:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Ricky Gallagher wrote a script named
|
||||||
|
<tt>portest</tt>, which can take a patch to the &os; ports
|
||||||
|
tree as input, and can generate a sequence of commands to
|
||||||
|
check out the ports tree from Subversion, apply the patch, and
|
||||||
|
then invoke <tt>poudriere</tt> to build the affected part of
|
||||||
|
the ports tree. Ricky consulted with Torsten Zühlsdorff
|
||||||
|
on this. This script will be used later to test changes to
|
||||||
|
the ports tree.</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<p>&a.rodrigc; converted some Jenkins builds to use
|
||||||
|
the Workflow plugin. Workflow is a plugin written by Jesse
|
||||||
|
Glick and other developers at Cloudbees, the main company
|
||||||
|
providing commercial support for Jenkins. With this plugin, a
|
||||||
|
Jenkins job can be written in a Domain Specific Language (DSL)
|
||||||
|
which is written in the Groovy scripting language. Workflow
|
||||||
|
scripts are meant to provide sophisticated access to Jenkins
|
||||||
|
functionality, in a simple scripting language. As Jenkins
|
||||||
|
jobs get more complicated and have more interdependencies,
|
||||||
|
using a DSL is easier for maintainability instead of creating
|
||||||
|
Jenkins jobs via menus.</p>
|
||||||
|
|
||||||
|
<p>&a.rodrigc; worked with Jesse Glick to identify
|
||||||
|
and fix a problem with the Durable Task plugin used by the
|
||||||
|
workflow plugin. This problem seemed to show up mostly on
|
||||||
|
non-Linux platforms such as OS X and &os;.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<p>&a.eadler; worked with &a.rodrigc; to test a
|
||||||
|
Jenkins plugin written by Aiden Scandella at Uber which
|
||||||
|
integrates Phabricator and Jenkins. With this plugin, if
|
||||||
|
someone submits a code review with Phabricator's Differential
|
||||||
|
tool, a Jenkins build with this code change will be triggered.
|
||||||
|
The Phabricator code review would then be updated with the
|
||||||
|
result of the build.</p>
|
||||||
|
|
||||||
|
<p>&a.eadler; and &a.rodrigc; had some initial
|
||||||
|
success testing this plugin using the &os; docs
|
||||||
|
repository, but this plugin still has a lot of hardcoded
|
||||||
|
dependencies specific to Uber's environment which make it
|
||||||
|
difficult to use out-of-the-box for &os;. Alexander Yerenkow
|
||||||
|
submitted some patches upstream to fix some of these problems,
|
||||||
|
but this plugin still needs more work. &a.rodrigc; thinks
|
||||||
|
that it might be better to write a workflow script to call
|
||||||
|
Phabricator commands directly.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<p>&a.rodrigc; pushed fixes upstream to several
|
||||||
|
plugins including:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>SCM Sync configuration plugin</li>
|
||||||
|
|
||||||
|
<li>NodeLabel parameter plugin</li>
|
||||||
|
|
||||||
|
<li>Subversion plugin</li>
|
||||||
|
|
||||||
|
<li>Multiple SCMs plugin</li>
|
||||||
|
|
||||||
|
<li>Clang Scanbuild plugin</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>&a.rodrigc; was granted commit access to the SCM
|
||||||
|
Sync configuration plugin, Multiple SCMs plugin, and Clang
|
||||||
|
Scanbuild plugin.</p>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>&a.lwhsu; set up multiple builds using jails on
|
||||||
|
machines located at NYI and administered by the &os; Cluster
|
||||||
|
Administrators. One of these builds targets 64-bit ARM.</li>
|
||||||
|
|
||||||
|
<li>Michael Zhilin fixed the Akuma library for &os;.
|
||||||
|
The Akuma library is used by Jenkins to determine what
|
||||||
|
command-line arguments were passed to a running process. To
|
||||||
|
fix this, Michael invoked an &os;-specific sysctl() with
|
||||||
|
KERN_PROC_ARGS to determine the arguments for a running pid.
|
||||||
|
This fix allows a running Jenkins instance to restart itself
|
||||||
|
after new plugins are installed.</li>
|
||||||
|
|
||||||
|
<li>&a.jmmv; accepted a fix for Kyua from &a.rodrigc;
|
||||||
|
to fix writing out XML characters to test report files.</li>
|
||||||
|
</ul>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<help>
|
||||||
|
<task>
|
||||||
|
<p>Work more on using the workflow plugin for various builds.</p>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
<task>
|
||||||
|
<p>Set up a build to test <tt>bmake</tt>'s meta-mode.</p>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
<task>
|
||||||
|
<p>Finish off integration with Phabricator.</p>
|
||||||
|
</task>
|
||||||
|
|
||||||
|
<task>
|
||||||
|
<p>People interested in helping out should join the
|
||||||
|
FreeBSD-testing@freebsd.org list.</p>
|
||||||
|
</task>
|
||||||
|
</help>
|
||||||
|
</project>
|
||||||
</report>
|
</report>
|
||||||
|
|
Loading…
Reference in a new issue