@@ -24,15 +24,14 @@ jobs:
2424 node-version : ${{ env.NODE_VERSION }}
2525 cache : ' npm'
2626 cache-dependency-path : client-ts/package-lock.json
27-
27+
2828 - name : Install dependencies
2929 working-directory : ./client-ts
3030 run : npm ci
31-
31+
3232 - name : Check version consistency
33- run : |
34- cd client-ts
35- npm run version:check
33+ working-directory : ./client-ts
34+ run : npm run version:check
3635 continue-on-error : false
3736
3837 frontend-tests :
@@ -42,26 +41,26 @@ jobs:
4241 steps :
4342 - name : Checkout code
4443 uses : actions/checkout@v5
45-
44+
4645 - name : Setup Node.js
4746 uses : actions/setup-node@v5
4847 with :
4948 node-version : ${{ env.NODE_VERSION }}
5049 cache : ' npm'
5150 cache-dependency-path : client-ts/package-lock.json
52-
51+
5352 - name : Install dependencies
5453 working-directory : ./client-ts
5554 run : npm ci
56-
55+
5756 - name : Run linting
5857 working-directory : ./client-ts
5958 run : npm run lint
60-
59+
6160 - name : Run type checking
6261 working-directory : ./client-ts
6362 run : npm run type-check
64-
63+
6564 - name : Run tests
6665 working-directory : ./client-ts
6766 run : npm run test:ci
@@ -79,24 +78,24 @@ jobs:
7978 ports :
8079 - 3306:3306
8180 options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
82-
81+
8382 steps :
8483 - name : Checkout code
8584 uses : actions/checkout@v5
86-
85+
8786 - name : Setup .NET
8887 uses : actions/setup-dotnet@v5
8988 with :
9089 dotnet-version : ${{ env.DOTNET_VERSION }}
91-
90+
9291 - name : Restore dependencies
9392 run : dotnet restore
94-
93+
9594 - name : Build project
9695 run : dotnet build --configuration Release --no-restore
97-
96+
9897 - name : Run tests
99- run : dotnet test --configuration Release --no-build
98+ run : dotnet test --configuration Release --no-build --verbosity normal
10099 env :
101100 ConnectionStrings__DefaultConnection : " Server=localhost;Database=TaskManagerDbTest;Uid=root;Pwd=testpassword;"
102101
@@ -111,25 +110,25 @@ jobs:
111110 steps :
112111 - name : Checkout code
113112 uses : actions/checkout@v5
114-
113+
115114 - name : Run Trivy vulnerability scanner
116115 uses : aquasecurity/trivy-action@master
117116 with :
118117 scan-type : ' fs'
119118 scan-ref : ' .'
120119 format : ' sarif'
121120 output : ' trivy-results.sarif'
122-
121+
123122 - name : Upload Trivy scan results to GitHub Security tab
124123 uses : github/codeql-action/upload-sarif@v3
125124 if : always()
126125 with :
127126 sarif_file : ' trivy-results.sarif'
128-
127+
129128 - name : Run npm audit for frontend
130129 working-directory : ./client-ts
131130 run : npm audit --audit-level moderate || true
132-
131+
133132 - name : Run dotnet list package vulnerabilities
134133 run : dotnet list package --vulnerable || true
135134
@@ -140,36 +139,36 @@ jobs:
140139 steps :
141140 - name : Checkout code
142141 uses : actions/checkout@v5
143-
142+
144143 - name : Setup Node.js
145144 uses : actions/setup-node@v5
146145 with :
147146 node-version : ${{ env.NODE_VERSION }}
148147 cache : ' npm'
149148 cache-dependency-path : client-ts/package-lock.json
150-
149+
151150 - name : Setup .NET
152151 uses : actions/setup-dotnet@v5
153152 with :
154153 dotnet-version : ${{ env.DOTNET_VERSION }}
155-
154+
156155 - name : Install frontend dependencies
157156 working-directory : ./client-ts
158157 run : npm ci
159-
158+
160159 - name : Build frontend
161160 working-directory : ./client-ts
162161 run : npm run build
163-
162+
164163 - name : Restore backend dependencies
165164 run : dotnet restore
166-
165+
167166 - name : Build backend
168167 run : dotnet build --configuration Release --no-restore
169-
168+
170169 - name : Publish backend
171170 run : dotnet publish --configuration Release --no-build
172-
171+
173172 - name : Upload build artifacts
174173 uses : actions/upload-artifact@v5
175174 with :
@@ -192,20 +191,20 @@ jobs:
192191 uses : actions/checkout@v5
193192 with :
194193 fetch-depth : 0
195-
194+
196195 - name : Download build artifacts
197196 uses : actions/download-artifact@v5
198197 with :
199198 name : build-artifacts
200-
199+
201200 - name : Get version from package.json
202201 id : version
203202 working-directory : ./client-ts
204203 run : |
205204 VERSION=$(node -p "require('./package.json').version")
206205 echo "version=$VERSION" >> $GITHUB_OUTPUT
207206 echo "tag=v$VERSION" >> $GITHUB_OUTPUT
208-
207+
209208 - name : Check if tag exists
210209 id : check-tag
211210 run : |
@@ -214,7 +213,7 @@ jobs:
214213 else
215214 echo "exists=false" >> $GITHUB_OUTPUT
216215 fi
217-
216+
218217 - name : Create Release
219218 if : steps.check-tag.outputs.exists == 'false'
220219 uses : actions/create-release@v1
@@ -227,19 +226,19 @@ jobs:
227226 prerelease : false
228227 body : |
229228 ## 🚀 Release ${{ steps.version.outputs.version }}
230-
229+
231230 ### Changes
232231 - Automated release from CI/CD pipeline
233232 - All tests passed ✅
234233 - Security scan completed ✅
235234 - Application built successfully ✅
236-
235+
237236 ### Build Artifacts
238237 - Frontend build ready for deployment
239238 - Backend publish ready for deployment
240-
239+
241240 ### Installation
242241 Download the artifacts from the Actions tab or use the built application directly.
243242 files : |
244243 build-artifacts/client-ts/build/*
245- build-artifacts/publish/*
244+ build-artifacts/publish/*
0 commit comments