From f5daa327354221fd26acb7cd71576b864b3bb7fd Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 1 Jun 2026 22:53:16 +0300 Subject: [PATCH 1/6] lab1 --- .github/workflows/sonarcloud.yml | 37 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index e784069..4267350 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -30,18 +30,18 @@ name: SonarCloud analysis on: push: - branches: [ "master" ] + branches: ["master"] pull_request: - branches: [ "master" ] + branches: ["master"] workflow_dispatch: permissions: - pull-requests: read # allows SonarCloud to decorate PRs with analysis results + pull-requests: read jobs: sonar-check: name: Sonar Check - runs-on: windows-latest # безпечно для будь-яких .NET проектів + runs-on: windows-latest steps: - uses: actions/checkout@v4 with: { fetch-depth: 0 } @@ -50,26 +50,27 @@ jobs: with: dotnet-version: '8.0.x' - # 1) BEGIN: SonarScanner for .NET - name: SonarScanner Begin - run: | - dotnet tool install --global dotnet-sonarscanner - echo "$env:USERPROFILE\.dotnet\tools" >> $env:GITHUB_PATH - dotnet sonarscanner begin ` - /k:"ppanchen_NetSdrClient" ` - /o:"ppanchen" ` - /d:sonar.token="${{ secrets.SONAR_TOKEN }}" ` - /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" ` - /d:sonar.cpd.cs.minimumTokens=40 ` - /d:sonar.cpd.cs.minimumLines=5 ` - /d:sonar.exclusions=**/bin/**,**/obj/**,**/sonarcloud.yml ` - /d:sonar.qualitygate.wait=true + run: | + dotnet tool install --global dotnet-sonarscanner + echo "$env:USERPROFILE\.dotnet\tools" >> $env:GITHUB_PATH + dotnet sonarscanner begin ` + /d:sonar.projectKey="friezze_ReengineeringCourse" ` + /d:sonar.organization="friezze" ` + /d:sonar.token="${{ secrets.SONAR_TOKEN }}" ` + /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" ` + /d:sonar.cpd.cs.minimumTokens=40 ` + /d:sonar.cpd.cs.minimumLines=5 ` + /d:sonar.exclusions=**/bin/**,**/obj/**,**/sonarcloud.yml ` + /d:sonar.qualitygate.wait=true shell: pwsh - # 2) BUILD & TEST + - name: Restore run: dotnet restore NetSdrClient.sln + - name: Build run: dotnet build NetSdrClient.sln -c Release --no-restore + #- name: Tests with coverage (OpenCover) # run: | # dotnet test NetSdrClientAppTests/NetSdrClientAppTests.csproj -c Release --no-build ` From 2534516c319a38d4aecd5d70a4e93c0869613003 Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 1 Jun 2026 22:57:34 +0300 Subject: [PATCH 2/6] lab1 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3a9029..0680e14 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=ppanchen_NetSdrClient&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=ppanchen_NetSdrClient) + Цей репозиторій використовується для курсу **реінжиніринг ПЗ**. Мета — провести комплексний реінжиніринг спадкового коду NetSdrClient, включаючи рефакторинг архітектури, покращення якості коду, впровадження сучасних практик розробки та автоматизацію процесів контролю якості через CI/CD пайплайни. From ba99cf90ef43cdbe9e07a3f830a8b565e436658d Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 1 Jun 2026 23:14:49 +0300 Subject: [PATCH 3/6] lab1_readme_after_lr --- README.md | 9 +++++++++ image-1.png | Bin 0 -> 29571 bytes image.png | Bin 0 -> 33424 bytes 3 files changed, 9 insertions(+) create mode 100644 image-1.png create mode 100644 image.png diff --git a/README.md b/README.md index 0680e14..159c28f 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,15 @@ +## Тут все пов'язане з виконанням самих лаб +# 1 +![Чек сонарклауда з форка репозиторія](image.png) +![Бейджі](image-1.png) +Лінк на коміт +''' +https://github.com/friezze/ReengineeringCourse/commit/2534516c319a38d4aecd5d70a4e93c086961300 +''' + Цей репозиторій використовується для курсу **реінжиніринг ПЗ**. Мета — провести комплексний реінжиніринг спадкового коду NetSdrClient, включаючи рефакторинг архітектури, покращення якості коду, впровадження сучасних практик розробки та автоматизацію процесів контролю якості через CI/CD пайплайни. diff --git a/image-1.png b/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7f7452d1b3849c4b592dc064d32dca244bb34e92 GIT binary patch literal 29571 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 bX1*XL`2I}H|6N7!C*g;%v`~eBuJ8W=y&ZGw literal 0 HcmV?d00001 From 9c4804f59861eab5c86b00bea61a4bb865143978 Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 1 Jun 2026 23:41:05 +0300 Subject: [PATCH 4/6] minor fix --- .github/workflows/sonarcloud.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 4267350..2e4251b 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -48,7 +48,7 @@ jobs: - uses: actions/setup-dotnet@v4 with: - dotnet-version: '8.0.x' + dotnet-version: "8.0.x" - name: SonarScanner Begin run: | @@ -61,7 +61,7 @@ jobs: /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" ` /d:sonar.cpd.cs.minimumTokens=40 ` /d:sonar.cpd.cs.minimumLines=5 ` - /d:sonar.exclusions=**/bin/**,**/obj/**,**/sonarcloud.yml ` + /d:sonar.exclusions="**/bin/**,**/obj/**,**/sonarcloud.yml" ` /d:sonar.qualitygate.wait=true shell: pwsh From 25ac81feb7042423ff3074d4f8e092a286b1fc13 Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 1 Jun 2026 23:44:28 +0300 Subject: [PATCH 5/6] minor fix --- .github/workflows/sonarcloud.yml | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 2e4251b..cbbf0f2 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -51,18 +51,11 @@ jobs: dotnet-version: "8.0.x" - name: SonarScanner Begin - run: | - dotnet tool install --global dotnet-sonarscanner - echo "$env:USERPROFILE\.dotnet\tools" >> $env:GITHUB_PATH - dotnet sonarscanner begin ` - /d:sonar.projectKey="friezze_ReengineeringCourse" ` - /d:sonar.organization="friezze" ` - /d:sonar.token="${{ secrets.SONAR_TOKEN }}" ` - /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" ` - /d:sonar.cpd.cs.minimumTokens=40 ` - /d:sonar.cpd.cs.minimumLines=5 ` - /d:sonar.exclusions="**/bin/**,**/obj/**,**/sonarcloud.yml" ` - /d:sonar.qualitygate.wait=true + run: | + dotnet tool install --global dotnet-sonarscanner + echo "$env:USERPROFILE\.dotnet\tools" >> $env:GITHUB_PATH + dotnet sonarscanner begin /k:"friezze_ReengineeringCourse" /o:"friezze" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" /d:sonar.cpd.cs.minimumTokens=40 /d:sonar.cpd.cs.minimumLines=5 /d:sonar.exclusions="**/bin/**,**/obj/**,**/sonarcloud.yml" /d:sonar.qualitygate.wait=true + shell: pwsh shell: pwsh - name: Restore From f7b3e84767dab143d234bd3a05e6488b01e9f144 Mon Sep 17 00:00:00 2001 From: Nikita Date: Mon, 1 Jun 2026 23:46:51 +0300 Subject: [PATCH 6/6] minor fix --- .github/workflows/sonarcloud.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index cbbf0f2..4d17f98 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -54,8 +54,7 @@ jobs: run: | dotnet tool install --global dotnet-sonarscanner echo "$env:USERPROFILE\.dotnet\tools" >> $env:GITHUB_PATH - dotnet sonarscanner begin /k:"friezze_ReengineeringCourse" /o:"friezze" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" /d:sonar.cpd.cs.minimumTokens=40 /d:sonar.cpd.cs.minimumLines=5 /d:sonar.exclusions="**/bin/**,**/obj/**,**/sonarcloud.yml" /d:sonar.qualitygate.wait=true - shell: pwsh + dotnet sonarscanner begin /k:"friezze_ReengineeringCourse" /o:"friezze" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.cs.opencover.reportsPaths="**/coverage.xml" /d:sonar.cpd.cs.minimumTokens=40 /d:sonar.cpd.cs.minimumLines=5 /d:sonar.exclusions="**/bin/**,**/obj/**,**/sonarcloud.yml" /d:sonar.qualitygate.wait=true shell: pwsh - name: Restore