GSoC’21 with SCoRe Lab: Week-4

Abhi Kulshrestha
SCoRe Lab
Published in
3 min readJul 10, 2021

--

Hi Everyone! I am Back again with my Blogpost for Week-3 of the Coding Period. Last week was full of new things. During Last week, I explored and learned many new things which I have discussed in my previous blog.

In case If you haven’t checked out my week-3 blog:- GSoC’21 with SCoRe
Lab: Week-3

During week-4, I learnt a bit about the workflows, and how do they works?
Basically during this week, I added Pull Request Builder and as my mentors suggested I used Github Actions for the same! So, here is what I have learned about it-

What is GITHUB ACTION?

Github Action is a Development tool provided by Github itself, which helps us Automate the workflows. I am using GH actions as Pull Request Builder, Now Question arises that -

What is Pull Request Builder?
Pull request builder as the name suggests, is a Builder or validator which validates the Pull request with the rules provided. Pull Request builder validates the Pull request for Continuous Integration Criteria. It is basically added for smooth and quality workflow with good quality of the codebase.
So now we have basic knowledge about Pull request Builder.

Github Action is a feature of Github which automates the software development workflow right inside Github itself. One can easily customize the workflow by just creating series of YAML files which may have series of actions to be performed. This automates the Software Development Lifecycle workflow. In very simple words, through GH Actions one can use it to create a custom workflow in order to create a Software Development Lifecycle.

Here is an example of Github Actions workflow

name: Build Test
on:
pull_request:
branches:
- main
jobs:
install-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install npm dependencies
run: |
npm install
- name: Run Linters
run: |
npm run lint

This Workflow is configured for any pull request made on the main branch. One can use other operations too like [ pull_request_target, push, etc. ] and can change it for other branches too. So initially this workflow installs all the node package modules mentioned in the package.json file by running the command npm install. After installing the modules, Lint checking is done for quality Code, by running the command npm run lint. This is the Basic level of custom workflow. One can extend this according to their needs and software development lifecycle.

Related Issue:- https://github.com/scorelab/Ask-SCoRe/issues/22
Related Pull Request:- https://github.com/scorelab/Ask-SCoRe/pull/23

Related Issue:- https://github.com/scorelab/Ask-SCoRe/issues/24
Related Pull Request:- https://github.com/scorelab/Ask-SCoRe/pull/25

Conclusion

During this week, I learned about Pull Request Builder, Github Action, Workflows, Linting, and many more. I am learning a lot during this GSoC’21 journey. I would like to thank my mentors (Shehand, Wathsara) for their constant help, support, and advice.

Thank you so much for reading! Stay Safe

For any queries, you can reach me out on LinkedIn

--

--