Hi All,

Below is a summary of the improvements made to Beam’s infrastructure in the
last few months. The completion of this work is thanks to Damian (damgad)
and Tobiasz (TobKed)  from Polidea. Thank you!!!


   -

   Jenkins tests are not always triggered / Switch to new jenkins infra
   -

      Beam now has a dedicated Jenkins master.
      -

      Beam now has 4x the Jenkins agents which essentially eliminated build
      queues.
      -

   Jenkins /tmp directory periodic cleanup
   -

      Moved to the inventory job for better transparency [tmp-cleanup].
      -

   Jenkins post commit tests does not clearly point to failing tests
   -

      installed Test Result History Plugin [test-results-plugin,
      screenshot] to start measuring flakiness. This plugin produces a similar
      matrix of test results as the Grafana Chart but it is clickable and has
      aggregation.
      -

   BEAM-3105 Cancel Jenkins builds when an update to a PR makes a prior
   build irrelevant
   -

   BEAM-3105 Cancel Jenkins builds when an update to a PR makes a prior
   build irrelevant
   -

   BEAM-9388 Github Actions instead of Travis CI as a build framework
   (Wheel Files)
   -

   BEAM-9271 Fix "beam_PostCommit_Py_ValCont failure due to timeout"
   -

   BEAM-4709 Javadoc build only tested during release
   -

   BEAM-8665 Run 2 (one for Java, one for Python) new test suites in
   Windows environment.
   -

   BEAM-10281 Jenkins Load Sharing Improvements (stackdriver agents &
   extend nb of executors)
   -

   BEAM-10542 Investigate a possible Nexmark performance regression around
   06/16
   -

   INFRA-20649 Beam Jenkins not triggering jobs from phrases
   -

   BEAM-10831 Fix broken Beam Dependency Check Report
   -

   BEAM-10837 Remove unused beam_PerformanceTests_Analysis Jenkins Job
   -

   BEAM-10835 Improve Github Actions cancelling duplicated runs
   -

   BEAM-10807 Performance test weekly email sent to dev@ list automatically
   [perf-email]
   -

   Apply more strict credentials bindings to Jenkins jobs
   -

   Configure seed & dependency check jobs to be triggered only by committers


There are plans to continue to invest into Beam’s infra in the future. A
few examples include,

   -

   Test Flakiness tracking improvements (e.g. increase build history
   retention)
   -

   Reduce flakiness with cross-job caching (maven, pypi, gradle, build
   cache, licenses, …)
   -

   More Github Actions (java artifacts, docker images, flaky test
   quarantine like Apache Ariflow)


If you have additional infra related tasks, or pain points, please create a
Jira issue so we can track them. Contributions are always welcome. Could
someone create an ‘infra’ component in Jira (I don’t have access)?


-Tyson

[tmp-cleanup]:
https://github.com/apache/beam/commit/50366bae1c86136331be097f0f0250bd619dc7f8

[test-results-plugin]: https://plugins.jenkins.io/test-results-analyzer/

[test-results-screenshot]: https://photos.app.goo.gl/E4cGpp5WqxYhwtTAA

[perf-email]:
https://lists.apache.org/thread.html/rc0054933a3e40c35f09641786a873391988caf6529899ec8bba67772%40%3Cdev.beam.apache.org%3E

Reply via email to