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>
|
||||
</help>
|
||||
</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>
|
||||
|
|
Loading…
Reference in a new issue