GitHub actions is a CI/CD tool for GitHub.
- It is used to automate testing and delivery of our code.
 - GitHub actions respond to any GitHub event; such as push, merge etc
 - We have thousands of pre-built actions from the community.
 
This image perfectly sums up GitHub actions.
Creating a GitHub action
You create a GitHub action to automate a specific task.
name: Integration file
on: 
    push: 
        branches: [main]
    pull_request: 
        branches: [main]
jobs:
    api_build:
        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@v2
            - name: Setup node
              uses: actions/setup-node@v2
              with:
                node-version: 20
                cache: "npm"
            - name: Install dependencies
              run: npm ci        
Undestanding the syntax
workflow: We create a workflow file which is written in yaml syntax in the project directory .github/workflows/actions.yml we have given the actions a name - integration file
events: We tell GitHub when this action would run, everytime we do a push to the main branch, this action would be executed. (the trigger is a push to the main branch).
jobs: This is the property that tells GitHub actions, what to execute when the trigger condition is met. The name of the job is api_build. You can have multiple jobs in one workflow file.
runs-on: You define the environment, where the action would be run. [ubuntu-latest]: this means the latest docker image of the ubuntu OS that GitHub actions has available.
steps: These are the steps we need to take in order to run the job correctly. This contains actions, we give each step a name, we have multiple steps. (You can have multiple steps).
actions: These are the individual tasks. We have 3 pre-built actions by members of the GitHub community in our file.
- 
Checkout: This will 
git checkout mainbranch. We are using pre-built actions. - 
Setup node: This will install 
node @v20on ubuntu OS. We are using pre-built actions. - Install dependencies
 
Thank you, Please follow me
              

    
Top comments (0)