Github Action part 2
Great, tumhara workflow ab sahi hai. Ab simple words me samjha deta hoon ki yeh file kya karti hai, aur future me tumhe kya cheez repeat karni padegi aur kya change kar sakte ho.
Ye GitHub Actions file kya karti hai
1️⃣ name: Build WF
Workflow ka naam hai. GitHub UI me ye naam dikhega.
Tum isko kuch bhi rakh sakte ho, jaise CI Pipeline ya Java Build.
2️⃣ on: – Kab chalegi pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
schedule:
- cron: "10 14 * * 1-5"
Iska matlab:
✅
push→ jab bhi main branch me code push karoge✅
pull_request→ jab PR banega main ke liye✅
workflow_dispatch→ tum manually “Run workflow” button se chala sakte ho✅
schedule→ har weekday 2:10 PM pe auto run hogi
Tumhe hamesha ye sab use karna zaroori nahi hai.
Agar chaho to schedule hata sakte ho, ya sirf push rakh sakte ho.
3️⃣ jobs: – Actual kaam yahan hota hai
Tumhare 2 jobs hain:
🔹 Job 1: build
jobs:
build:
runs-on: ubuntu-latest
Matlab ye job Ubuntu machine pe chalegi.
Steps:
- name: Checkout Code
uses: actions/checkout@v5
👉 Repo ka code machine pe le aata hai
- name: Setup Java
uses: actions/setup-java@v4
👉 Java 21 install karta hai
- name: Maven Build
run: mvn clean install -DskipTests
👉 Project build karta hai (tests skip karke)
🔹 Job 2: testing
testing:
runs-on: ubuntu-latest
needs: build
👉 needs: build ka matlab:
Pehle build complete hoga, tab hi testing chalega
Steps:
Code checkout
Java setup
Tests run
Checkstyle run
❓ Kya mujhe hamesha yehi same script likhni padegi?
👉 Short answer: Base structure same rahega, project ke hisaab se thoda change hoga.
Same rahega (mostly)
Ye cheezein har project me common hoti hain:
- uses: actions/checkout@v5
- uses: actions/setup-java@v4
runs-on: ubuntu-latest
Change hoga (project ke hisaab se)
Ye part change karoge:
Java version (17, 21, etc.)
Build command
Maven:
mvn clean installGradle:
./gradlew buildNode:
npm install && npm test
Example: Node project ke liye:
- name: Install deps
run: npm install
- name: Run tests
run: npm test
❓ Kya main kisi bhi project par GitHub Actions use kar sakta hoon?
👉 Haan, almost har type ke project ke liye:
| Project Type | GitHub Actions possible? | Example |
| Java (Maven/Gradle) | ✅ Yes | tumhara case |
| React / Node.js | ✅ Yes | npm build |
| Python | ✅ Yes | pytest |
| Docker | ✅ Yes | docker build |
| CI/CD to AWS | ✅ Yes | deploy pipelines |
| Android | ✅ Yes | gradle build |
Bas commands change hoti hain.
❓ Ye kaam real companies me hota hai?
👉 100% yes.
Companies isi cheez ko bolti hain:
CI pipeline
Build automation
Test automation
DevOps basic skill
Ye tumhare resume me strong point hai.