Here is summary of my investigations into ways to improve stability for the
cicd by moving to an alternative infra then the current apache
jenkins infra.

1) Alternative build script for apache jenkins

This experiment was not successful, jenkins does not seem to pick the
updated job config in all instances, I have reverted all jobs to there
prior config.

2) Github CICD experimentation

We had success using it and a pr is ready, but the service is not in GA and
not available to all users. So it's currently not an option.

3) Azure pipeline

https://github.com/aahmed-se/pulsar/pull/10

Tried with a forked repository things work well, there is even test report
generation, apache infra won't allow integration since it requires an admin
token to work.

4) Git mirroring

This is strategy being pursued by projects like apache flink, they an
external bot being managed by them that mirrors github pull requests to
another repo which they grant admin access to ci cd services. They interact
with it through phrases in the pr comments.

5) Appveyor and travis

I have not tried these services but apache repos can interact with and it
is supported by apache infra as they require a read only token. Travis
instances are less stable so Appveyor is the better choice. It's unlikely
it has the same capacity as azure pipelines.

Conclusion

The best and shortest course of action will be ask apache infra to enable
appveyor integration and move the ci cd jobs there. It's already being used
some apache projects like calcite and it should be sufficient for current
use cases.

Long term integration with github actions or Azure pipelines will be the
best course of action.

Reply via email to