Skip to content

Commit 0fe95a0

Browse files
authored
Add Cucumber Test Automation Pipeline workflow
CICD setup
1 parent 4390f69 commit 0fe95a0

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

.github/workflows/ci.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Cucumber Test Automation Pipeline
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
8+
jobs:
9+
checkout:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout Code
13+
uses: actions/checkout@v4
14+
15+
setup:
16+
runs-on: ubuntu-latest
17+
needs: checkout
18+
steps:
19+
- name: Checkout Code
20+
uses: actions/checkout@v4
21+
22+
- name: Set up JDK 17
23+
uses: actions/setup-java@v4
24+
with:
25+
java-version: "17"
26+
distribution: "temurin"
27+
28+
- name: Cache Maven packages
29+
uses: actions/cache@v4
30+
with:
31+
path: ~/.m2
32+
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
33+
34+
- name: Maven Clean Install
35+
run: mvn clean install -DskipTests
36+
37+
test:
38+
runs-on: ubuntu-latest
39+
needs: setup
40+
steps:
41+
- name: Checkout Code
42+
uses: actions/checkout@v4
43+
44+
- name: Set up JDK 17
45+
uses: actions/setup-java@v4
46+
with:
47+
java-version: "17"
48+
distribution: "temurin"
49+
50+
- name: Execute Cucumber TestNG Tests
51+
run: mvn test
52+
53+
- name: Upload TestNG + Cucumber Logs
54+
uses: actions/upload-artifact@v4
55+
with:
56+
name: test-output
57+
path: test-output/
58+
59+
allure-results:
60+
runs-on: ubuntu-latest
61+
needs: test
62+
steps:
63+
- name: Checkout Code
64+
uses: actions/checkout@v4
65+
66+
- name: Upload Allure Results
67+
uses: actions/upload-artifact@v4
68+
with:
69+
name: allure-results
70+
path: target/allure-results
71+
72+
allure-report:
73+
runs-on: ubuntu-latest
74+
needs: allure-results
75+
steps:
76+
- name: Download Allure Results
77+
uses: actions/download-artifact@v4
78+
with:
79+
name: allure-results
80+
path: allure-results
81+
82+
- name: Generate Allure Report
83+
uses: simple-elf/allure-report-action@v1.7
84+
with:
85+
allure_results: allure-results
86+
allure_report: allure-report
87+
keep_reports: 5
88+
89+
- name: Upload Allure HTML Report
90+
uses: actions/upload-artifact@v4
91+
with:
92+
name: allure-report
93+
path: allure-report

0 commit comments

Comments
 (0)