Hey everyone,

Previously I mentioned that I was working on automated website builds for the Calcite (and avatica and avatica-go subwebsite) Website [1] and I wanted to give you guys some updates.

The initial attempt was to use the git-websites jenkins node to build the site, however I ran into a few issues: - I couldn't get a Jenkins build to trigger only when a new tag that matches a regex is pushed.
- The jenkins build can sometimes be unreliable and not trigger.

Recently, Github released Github Actions, which allows not just CI/CD, but the ability to run any piece of code in Javascript, a docker container or a VM when an event triggers it [2]. The newest beta of Github Actions is available to all projects under the ASF organization on Github, so do check it out, it's pretty cool!

I have successfully implemented automated site builds using Github Actions in the test-site branch [3]. The builds now trigger correctly and the only missing piece left is to let Github Actions have access to the token to push to the Calcite-site repository. This is currently tracked in INFRA-18874 [4].

Github Actions can also be used for CI/CD, so it's a good candidate for replacing Travis and Appveyor as Github also provides Windows nodes for building. I did some initial work to test the waters with migrating Avatica-Go [5]. Unfortunately, it seems to be missing some things, such as the ability to set the command when running a service container. I am sure these are things that will definitely be fixed/implemented in the future as Actions is still in beta.

From my testing, Github Actions builds are really fast (9 minutes to build the Javadoc for Calcite), so it's something we should consider for Calcite + Avatica + Avatica-Go in the future.

Any thoughts?

I've also started some discussion regarding Github Actions on the build@ list for more general discussion [6].

Francis

[1] https://lists.apache.org/thread.html/a86bf62901f4032027d7a247c33aa22e0f74ad423914967a86f769b8@%3Cdev.calcite.apache.org%3E

[2] https://github.com/features/actions

[3] https://github.com/apache/calcite/commit/eb44ae0ae6f9e5197067452f036bd07c92b4c92a

[4] https://issues.apache.org/jira/browse/INFRA-18874

[5] https://github.com/apache/calcite-avatica-go/commit/a83e09408aeac7706b2a482d704e5d1c758eafb2

[6] https://lists.apache.org/thread.html/246c44267ddaede1cda516c4c825a3868cf617dbe09a6106a8a29d92@%3Cbuilds.apache.org%3E

Reply via email to