Building all the things Arquillian

Hi guys,

Matous brought very valid point about automating generation of website. There is plenty to automate around it including better release notes (see this thread), social alerts (Twitter, Facebook and so on). There are tons of things we can and should do better.

The most important thing however is improving our build infrastructure, as apparently the current one is a bit limiting. So I would like to start the discussion about automation for the overall Arquillian Universe as we have quite a lot of traction in several modules. This leads to cumbersome manual work which I believe we can automate to great extent. Based on the discussion I will keep updating this post so we will have a vision in the single place.

What are the challenges now in my eyes?

Matrix build

We are coming back and forth to this topic but I think we should really push it and make it happen. Whenever we introduce changes in core, we should be able to:

  • run all the extensions against the latest snapshot
  • in case of failure: open issue (on github?) reporting the problem

When new version is released all the things above + automatic commit if everything is fine.

This leads me to the question about tests - we don’t have a lot of functional - cross-module tests at this point. In theory we could leverage and evolve arquillian-showcase project but this will require quite a bit of work as it’s really outdated as of now. Shall we invest time looking at it? If so I would rather make it a monorepo with several projects rather than one shabang pom - this would let us isolate the problems and spot them quicker, as with shabang modules it will always be a snowball effect leading to sequential fixes one after the other (unless we switch to failsafe for all the tests).

Release automation

Current release process is semi-automated . Here are the things we can consider to improve the whole situation:

  • Switch from staging repo to bintray - no manual “close repo step”
  • Once artifact is publish - trigger website update

This brings me back to the previous point - confidence in our test suite and matrix jobs.


How should we evolve our website? Is the current setup with Awestruct and mainly .textile fine for us? Shouldn’t we switch to Asciidoc which gives us greater control and flexibility over the content? Some open points:

  • As the process is now dockerized we might think about moving it to CI - shall we investigate?
  • deployment and verification (visual? content based? pipelined?)

Any other ideas?