Hi community,

As I'm actively working on TCK, I might break stuff when pushing changes.
Without CI it's quite hard to know where you are and where you go.

So I went and spent some time this morning to rework a bit of our CI on
Jenkins.

https://ci-builds.apache.org/job/Tomee/

I created a couple of jobs

*master-sanity-checks* (triggered on commit)
The goal here is to run checkstyle, pmd, rat and a quick compile of sources
without tests.
This is because our full build takes a lot of time, and it's frustrating to
pretty much be at the end of the build and realize you missed an unused
import and the full build is aborted.

*master-build-quick* (triggered after sanity checks if successful)
If the previous build passes, this one is triggered and runs a clean
install with profile quick. Does not run examples, all arquillian adapters,
tck and itests.
Not sure if it's relevant, but it runs minimum things to have a good
confidence on TomEE build.

*master-build-full* (executed every day)
This one does not run on commit. It can be executed manually or it will run
every day anyway.
It runs everything possible in TomEE but it will take hours.

*master-owasp-check* (to be triggered manually). For the moment it takes
too much time to have it in other builds. To be discussed.

I pushed some changes already to codebase in order to add missing headers,
and fix the build already. So far sanity passed and triggered the quick.
I'll monitor and see what happens


What do you think?
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Thu, Nov 19, 2020 at 8:33 AM Zowalla, Richard <
[email protected]> wrote:

> Hi Cesar,
>
> we have the following configuration:
>
> - Latest OpenJDK 8
> - Maven 3.6.3
> - only execute it on Linux Slavs
> - We have "clean install -Pall-adapters"-Command (similar to Apache
> Jenkins - I think we copied the config from it). I now added "-U --
> show-version --fail-at-end" to align the Maven command with the Apache
> CI configuration.
> - No Post-Build actions (for now)
>
> Best
> Richard
>
>
>
>
> Am Mittwoch, den 18.11.2020, 12:10 -0600 schrieb Cesar Hernandez:
> > @Richard Zowalla,
> >
> > In terms of Jenkis job configuration, what is your Job configuration
> > set up
> > in the University?
> >
> > Current Apache TomEE master job has the following configurations:
> >
> > -Java: latest Java 8
> > -Maven: 3.3.9 version with MAVEN_OPTS -Xmx1536m
> > -Maven command: -U --show-version --fail-at-end clean install -Pall-
> > adapters
> > -Junit patter for post-build actions: **/target/surefire-
> > reports/TEST-*.xml
> >
> > Buildbot had 3 steps (temp folder creation, checkstyle, pmd, install
> > without test) before executing the full project tests.
> > https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8/builds/1426
> > I wonder if you included the same steps build bot has or if you went
> > straight to `clean install` like the Job we currently have in Apache
> > CI Job.
> >
> > El mié., 18 nov. 2020 a las 5:12, Jonathan Gallimore (<
> > [email protected]>) escribió:
> >
> > > I'll dig into the log... thanks for the pointers. Its too bad that
> > > Jenkins
> > > shows the modules in a weird order though. Things like that add to
> > > my
> > > frustration with it.
> > >
> > > Jon
> > >
> > > On Wed, Nov 18, 2020 at 9:06 AM Zowalla, Richard <
> > > [email protected]> wrote:
> > >
> > > > Hi Jon,
> > > >
> > > > the module order shown on the start page does not necessarily
> > > > reflect the
> > > > build order.
> > > >
> > > > We are building TomEE Master from GitHub on our university
> > > > Jenkins CI
> > > > infrastructure  as well.
> > > >
> > > > Afaik, the module order is hidden in the CI log files:
> > > >
> > > > CI University:
> > > > https://gist.github.com/rzo1/aded63855dbabda57ab11a89188ada68
> > > > CI Apache:
> > > > https://gist.github.com/rzo1/0fe6cb8c67fab5ded2ab566e30b7a4e3
> > > >
> > > > Looking at both CI logs, the build order is:
> > > >
> > > > Core
> > > > Assembly
> > > > Zips
> > > > Integration
> > > >
> > > > as one would expect or did I miss something, Jon?
> > > >
> > > > Best
> > > > Richard
> > > >
> > > > FYI: The latest CI Job on our infrastructure failed with 10 tests
> > > > (tck
> > > > beanvalidation):
> > > > https://gist.github.com/rzo1/05ff7f30c034c66355cb95363b35686f
> > > >
> > > > Am Dienstag, den 17.11.2020, 22:42 +0000 schrieb Jonathan
> > > > Gallimore:
> > > >
> > > > I'll keep working on this. I got a clean build on my machine here
> > > > (which
> > > >
> > > > takes just under 2 hours), and have gotten a release up for vote.
> > > > We're
> > > >
> > > > definitely seeing 'odd' things on this instance.
> > > >
> > > >
> > > > Jon
> > > >
> > > >
> > > > On Tue, Nov 17, 2020 at 9:32 PM David Blevins <
> > > >
> > > > [email protected]
> > > >
> > > >
> > > > wrote:
> > > >
> > > >
> > > > On Nov 17, 2020, at 1:50 AM, Jonathan Gallimore <
> > > >
> > > > [email protected]
> > > >
> > > > > wrote:
> > > >
> > > > I kicked off a run of this last night:
> > > >
> > > > https://ci-builds.apache.org/job/Tomee/job/master/10/
> > > >
> > > >  - which completed
> > > >
> > > > (it
> > > >
> > > > was hanging before), with 38 test failures, looking to be OWB
> > > > related.
> > > >
> > > > The
> > > >
> > > > tests I've looked at so far locally pass ok - I'm wondering if
> > > > this is
> > > >
> > > > specific to Jenkins, or timing related (as the build went past
> > > > midnight,
> > > >
> > > > and so old snapshots may be picked up.
> > > >
> > > >
> > > > Kicked off another full build on Jenkins, and also a full build
> > > > locally
> > > >
> > > > (which take about half the time of the CI). I'll report back.
> > > >
> > > >
> > > > I tried some time ago to set us up in the Apache setup for
> > > > Jenkins and got
> > > >
> > > > failures along with a very not intuitive reactor order.
> > > >
> > > >
> > > > For example, in module order from this build:
> > > >
> > > >
> > > >  -
> > > >
> > > > https://ci-builds.apache.org/job/Tomee/job/master/10/
> > > >
> > > >
> > > >
> > > > This is not a complete summary, but a highlight the most odd
> > > > ordering I
> > > >
> > > > see:
> > > >
> > > >
> > > >     Unstable TomEE :: Arquillian Adaptors Parent :: Tests :: Web
> > > > Profile
> > > >
> > > >   29 min
> > > >
> > > >     ...
> > > >
> > > >     Success TomEE :: TomEE :: Apache TomEE      1 min 53 sec
> > > >
> > > >     ...
> > > >
> > > >     Success TomEE :: Assembly   3.6 sec
> > > >
> > > >     ...
> > > >
> > > >     Success TomEE :: Container :: Core
> > > >
> > > >
> > > > The above is the opposite of what I'd expect, which is:
> > > >
> > > >
> > > >  - Build the core code (TomEE :: Container :: Core)
> > > >
> > > >  - Assemble the webapps (TomEE :: Assembly)
> > > >
> > > >  - Create the Apache TomEE distribution zips (TomEE :: TomEE ::
> > > > Apache
> > > >
> > > > TomEE)
> > > >
> > > >  - Integration test the zips (TomEE :: Arquillian Adaptors Parent
> > > > :: Tests
> > > >
> > > > :: Web Profile)
> > > >
> > > >
> > > > Instead we have:
> > > >
> > > >
> > > >  - Test the zips we haven't built yet
> > > >
> > > >  - Build the zips from webapps we haven't created yet
> > > >
> > > >  - Build the webapps from code we haven't compiled yet
> > > >
> > > >  - Now compile the code
> > > >
> > > >
> > > > It's completely baffling.  We get the correct order on our
> > > > machines and in
> > > >
> > > > buildbot.  It's just this Jenkins that seems to create such a
> > > > completely
> > > >
> > > > unintelligible result.
> > > >
> > > >
> > > > It's like there is some invisible setting or "optimization"
> > > > enabled.
> > > >
> > > >
> > > >
> > > > -David
> > > >
> > > >
> > > >
> > > > --
> > > >
> > > > Richard Zowalla, M.Sc.
> > > > Research Associate, PhD Student | Medical Informatics
> > > >
> > > >
> > > >
> > > > Hochschule Heilbronn – University of Applied Sciences
> > > > Max-Planck-Str. 39
> > > > D-74081 Heilbronn
> > > > phone: +49 7131 504 6791
> > > > mail: [email protected]
> > > > web: http://www.mi.hs-heilbronn.de/
> > > >
>

Reply via email to