CI with GitHub Actions

Emin Ugar
Orion Innovation techClub
3 min readAug 31, 2021

What is CI?

Continuous Integration (CI) automated integration of code changes from different developers in to a single software project. CI can include a lot of steps such as; building the project, exporting software package (framework, APK, IPA, etc.), running tests (unit tests, UI tests, etc.) and exporting reports. These steps can be change requirements of your project and your expectations.

Why do I need CI ?

CI process give you the advantage of detecting compile issues before merging your code to main stream. CI also can show you incorrect implementations with running your tests. Unless everything is OK developer can not merge its code. This workflow process runs every time when you change any things in this project. With CI you can preserve your code quality.

Why GitHub Actions?

GitHub provides us Actions feature to build CI workflow. To achieve that we just need to create a YML file and add it to your project root directory. GitHub also provides template YML files for different projects. GitHub also has marketplace for you to get actions plugins to use in your workflow.

In this article, we will see how to add the workflows provided by GitHub for an Android project written in Java. For this, your project must be uploaded to GitHub.

How do create new CI workflow with GitHub Actions?

Steps:

1- Go to the Actions section on the GitHub repository.

2- Choose the workflow that suits your project. (I will use Android CI for this article)

You now have the Android CI workflow.

3- Edit your file name (with .yml extension) then click to start commit.

4- See the status of the workflow in the Actions section.

5- Select the workflow and check the steps.

In this article, we saw how we added the CI workflow to our project using GitHub Actions. We chose the CI workflow template suitable for our project.
Added the plugin we wanted from the Market Place section, and we’ve added it to our workflow. Choose your own CI workflow for your projects, and easily add the plugins and features you want.

--

--