@@ -2,9 +2,9 @@ name: CI/CD Pipeline
22
33on :
44 push :
5- branches : [ main, develop ]
5+ branches : [ main, master, develop, 'feature/**', 'fix/**', 'cli-fixes' ]
66 pull_request :
7- branches : [ main ]
7+ branches : [ main, master ]
88 release :
99 types : [ published ]
1010
@@ -141,11 +141,12 @@ jobs:
141141 - name : Install dependencies
142142 run : npm ci
143143
144- - name : Run CI-safe tests
145- run : npm run test:ci-safe
144+ - name : Run unit tests only
145+ run : npm run test:unit:ci
146146 env :
147147 CI : true
148148 NODE_ENV : test
149+ NODE_OPTIONS : ' --max-old-space-size=2048'
149150
150151 - name : Upload test results
151152 uses : actions/upload-artifact@v4
@@ -155,10 +156,10 @@ jobs:
155156 path : test-results.xml
156157 retention-days : 7
157158
158- # Coverage analysis
159- # NOTE: Coverage is excluded from publishing pipeline but still run for PR validation
159+ # Unit test coverage only
160+ # NOTE: Only run unit test coverage, not integration or e2e
160161 coverage :
161- name : Test Coverage
162+ name : Unit Test Coverage
162163 runs-on : ubuntu-latest
163164 needs : [lint, type-check]
164165 if : github.event_name != 'release'
@@ -175,11 +176,12 @@ jobs:
175176 - name : Install dependencies
176177 run : npm ci
177178
178- - name : Run tests with coverage
179- run : npm run coverage
179+ - name : Run unit tests with coverage
180+ run : npm run coverage:unit
180181 env :
181182 CI : true
182183 NODE_ENV : test
184+ NODE_OPTIONS : ' --max-old-space-size=2048'
183185
184186 - name : Upload coverage to Codecov
185187 uses : codecov/codecov-action@v4
@@ -190,45 +192,20 @@ jobs:
190192
191193 - name : Coverage quality gate
192194 run : |
193- COVERAGE=$(grep -o 'Lines.*: [0-9.]*%' coverage/lcov-report/index.html | grep -o '[0-9.]*' | head -1)
195+ COVERAGE=$(grep -o 'Lines.*: [0-9.]*%' coverage/lcov-report/index.html | grep -o '[0-9.]*' | head -1 || echo "0" )
194196 echo "Coverage: $COVERAGE%"
195- if (( $(echo "$COVERAGE < 80 " | bc -l) )); then
196- echo "Coverage below 80 % threshold"
197+ if (( $(echo "$COVERAGE < 70 " | bc -l) )); then
198+ echo "Coverage below 70 % threshold"
197199 exit 1
198200 fi
199201
200- # Integration tests (separate job for longer timeout)
201- # NOTE: Integration tests are excluded from publishing pipeline but still run for PR validation
202- integration-tests :
203- name : Integration Tests
204- runs-on : ubuntu-latest
205- needs : [build]
206- if : github.event_name != 'release'
207- steps :
208- - name : Checkout code
209- uses : actions/checkout@v4
210-
211- - name : Setup Node.js
212- uses : actions/setup-node@v4
213- with :
214- node-version : ${{ env.NODE_VERSION }}
215- cache : ' npm'
216-
217- - name : Install dependencies
218- run : npm ci
219-
220- - name : Download build artifacts
221- uses : actions/download-artifact@v4
222- with :
223- name : build-artifacts
224- path : build/
225-
226- - name : Run integration tests
227- run : npm run test:integration:ci
228- env :
229- CI : true
230- NODE_ENV : test
231- timeout-minutes : 15
202+ # Integration tests - DISABLED (only run manually)
203+ # NOTE: Integration tests are skipped in CI to reduce pipeline time
204+ # Run locally with: npm run test:integration
205+ # integration-tests:
206+ # name: Integration Tests (Disabled)
207+ # runs-on: ubuntu-latest
208+ # if: false # Disabled - only run unit tests in CI
232209
233210 # Pre-release validation
234211 pre-release-validation :
0 commit comments