Skip to content
Open

Test #19

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 178 additions & 0 deletions .github/workflows/ci-old.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
name: CI

on:
push:
branches: [main]

jobs:
backend-restore:
name: Backend - Restore
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore

backend-build:
name: Backend - Build
runs-on: ubuntu-latest
needs: backend-restore
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore
cd ../ProductApi.Tests
dotnet restore

- name: Build
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet build --configuration Release
cd ../ProductApi.Tests
dotnet build --configuration Release

backend-test:
name: Backend - Test
runs-on: ubuntu-latest
needs: backend-build
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore
cd ../ProductApi.Tests
dotnet restore

- name: Build
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet build --configuration Release
cd ../ProductApi.Tests
dotnet build --configuration Release

- name: Test
run: |
cd lab5/sample-ci/backend/ProductApi.Tests
dotnet test --configuration Release --logger trx

backend-publish:
name: Backend - Publish
runs-on: ubuntu-latest
needs: backend-test
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore

- name: Build
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet build --configuration Release

- name: Publish
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet publish --configuration Release --output ./publish

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: backend
path: lab5/sample-ci/backend/ProductApi/publish

frontend-install:
name: Frontend - Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: |
cd lab5/sample-ci/frontend
npm install

frontend-test:
name: Frontend - Test
runs-on: ubuntu-latest
needs: frontend-install
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: |
cd lab5/sample-ci/frontend
npm install

- name: Run tests
run: |
cd lab5/sample-ci/frontend
npm test

frontend-build:
name: Frontend - Build
runs-on: ubuntu-latest
needs: frontend-test
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: |
cd lab5/sample-ci/frontend
npm install

- name: Build
run: |
cd lab5/sample-ci/frontend
npm run build

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: frontend
path: lab5/sample-ci/frontend/dist
121 changes: 15 additions & 106 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ on:
branches: [main]

jobs:
backend-restore:
name: Backend - Restore
backend:
name: Backend (.NET)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -15,156 +15,65 @@ jobs:
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore

backend-build:
name: Backend - Build
runs-on: ubuntu-latest
needs: backend-restore
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
- name: Cache NuGet packages
uses: actions/cache@v4
with:
dotnet-version: '8.0.x'
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('lab5/sample-ci/backend/**/*.csproj') }}

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore
cd ../ProductApi.Tests
dotnet restore

- name: Build
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet build --configuration Release
cd ../ProductApi.Tests
dotnet build --configuration Release

backend-test:
name: Backend - Test
runs-on: ubuntu-latest
needs: backend-build
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore
cd ../ProductApi.Tests
dotnet restore

- name: Build
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet build --configuration Release
dotnet build --no-restore --configuration Release
cd ../ProductApi.Tests
dotnet build --configuration Release
dotnet build --no-restore --configuration Release

- name: Test
run: |
cd lab5/sample-ci/backend/ProductApi.Tests
dotnet test --configuration Release --logger trx

backend-publish:
name: Backend - Publish
runs-on: ubuntu-latest
needs: backend-test
steps:
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Restore dependencies
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet restore

- name: Build
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet build --configuration Release
dotnet test --no-build --configuration Release --logger trx

- name: Publish
run: |
cd lab5/sample-ci/backend/ProductApi
dotnet publish --configuration Release --output ./publish
dotnet publish --no-build --configuration Release --output ./publish

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: backend
path: lab5/sample-ci/backend/ProductApi/publish

frontend-install:
name: Frontend - Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: |
cd lab5/sample-ci/frontend
npm install

frontend-test:
name: Frontend - Test
frontend:
name: Frontend (Node.js)
runs-on: ubuntu-latest
needs: frontend-install
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: lab5/sample-ci/frontend/package-lock.json

- name: Install dependencies
run: |
cd lab5/sample-ci/frontend
npm install
npm ci

- name: Run tests
run: |
cd lab5/sample-ci/frontend
npm test

frontend-build:
name: Frontend - Build
runs-on: ubuntu-latest
needs: frontend-test
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Install dependencies
run: |
cd lab5/sample-ci/frontend
npm install

- name: Build
run: |
Expand Down
1 change: 1 addition & 0 deletions lab5/sample-ci/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,4 @@ curl -X DELETE http://localhost:5000/api/products/1
2. **Integracja z SonarCloud** - analiza jakości kodu
3. **Performance tests** - testy obciążeniowe (k6, JMeter)
4. **Deployment** - automatyczny deploy do Azure App Service
"# Lab 5 - CI Optimization"
1 change: 1 addition & 0 deletions lab5/sample-ci/READMEE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"# Lab 5 - CI Optimization"
1 change: 1 addition & 0 deletions lab5/sample-ci/READMEEEE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"# Lab 5 - CI Optimization"