First impression with Github Actions

Continuous integration is a very important practice for software projects which consist of multiple contributors. Usually, just a code review is not enough to merge a pull request to the master branch since a very simple but a hidden mistake can occur errors during the actual build process. Therefore, what we could do is,

  1. Fetching the pull request and testing on our local machines before merging the pull request.
  2. Doing above 1) on a remote machine using a CI service. Eg:- Travis CI, Jenkins server.

But! how about having the CI part as a module of the source code hosting environment? Awesome right!. Github Actions offers a nice CI/CD solution inside the well known Github environment.

There was a task in Neutralinojs project in order to add CI support. Our project has three code bases (for Linux, Windows and MacOS) and each project has different build scripts.

I experimented Github Actions and added it to our project as per below.

How to implement custom CI actions

Step 1: There are many predefined CI workflows. Where as our project needs a custom workflow since there are multiple platforms and also some configurations.

Go to Actions tab of the repository to create a new workflow.

Step 2: Write your workflow script. CI workflow may consist of more than one jobs. I have created two jobs for two different platforms (Linux and Windows).

This workflow has two jobs. build-linux will clone our project and run the required build script on Linux platform. build-windows will do the same on Windows platform. Importantly, this workflow will be triggered when a new commit is pushed or when a new pull request is created.

Step 3: Eventually, test the workflow by triggering it (Eg:- by creating a pull request).

A green tick will be appeared when all jobs were completed successfully.
Log messages/output for each job in our workflow.


  • Github Actions feature offers a nice CI/CD service which can be easily configured inside the Github environment itself.
  • It supports Linux, Windows and MacOs platforms. Therefore, it is very useful for cross-platform projects.
  • Github Actions can be used as a free feature for public repositories. Where as there is a pay-as-you-go pricing scheme for private repositories.

Happy Coding 😎

Programmer | Author of Neutralinojs | Technical Writer

Programmer | Author of Neutralinojs | Technical Writer