diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml deleted file mode 100644 index 8ee95ea..0000000 --- a/.gitea/workflows/test.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: .NET Test Pipeline - -on: - pull_request: - push: - branches: - [master, 'release/*'] - -jobs: - build-and-test: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up .NET Core - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '8.0.x' - - - name: Restore dependencies - run: dotnet restore - - - name: Build the solution - run: dotnet build --configuration Release - - - name: Run tests - run: dotnet test --configuration Release --no-build --no-restore --verbosity normal \ No newline at end of file diff --git a/.github/workflows/code-analyze.yaml b/.github/workflows/code-analyze.yaml new file mode 100644 index 0000000..911543d --- /dev/null +++ b/.github/workflows/code-analyze.yaml @@ -0,0 +1,30 @@ +name: .NET Test Pipeline + +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checking out + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: SonarScanner for .NET 8 with pull request decoration support + uses: highbyte/sonarscan-dotnet@v2.3.3 + with: + sonarProjectKey: $(echo "${{ github.repository }}" | cut -d'/' -f2) + sonarProjectName: $(echo "${{ github.repository }}" | cut -d'/' -f2) + sonarHostname: ${{ secrets.SONAR_HOST_URL }} + dotnetPreBuildCmd: dotnet nuget add source --name="Winsomnia" --username ${secrets.NUGET_USERNAME} --password ${{ secrets.NUGET_PASSWORD }} --store-password-in-clear-text ${secrets.NUGET_ADDRESS} && dotnet format --verify-no-changes --diagnostics -v diag --severity warn + dotnetTestArguments: --logger trx --collect:"XPlat Code Coverage" -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.Format=opencover + sonarBeginArguments: /d:sonar.cs.opencover.reportsPaths="**/TestResults/**/coverage.opencover.xml" -d:sonar.cs.vstest.reportsPaths="**/TestResults/*.trx" + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/.gitea/workflows/deploy-stage.yaml b/.github/workflows/release-version.yml similarity index 96% rename from .gitea/workflows/deploy-stage.yaml rename to .github/workflows/release-version.yml index 8e22f9b..6f628d4 100644 --- a/.gitea/workflows/deploy-stage.yaml +++ b/.github/workflows/release-version.yml @@ -3,7 +3,7 @@ on: push: branches: - [master, 'release/*'] + [master] jobs: build-and-deploy: @@ -24,7 +24,7 @@ jobs: - name: Build and push Docker image run: | - docker build --build-arg NUGET_USERNAME=${{ secrets.NUGET_USERNAME }} --build-arg NUGET_PASSWORD=${{ secrets.NUGET_PASSWORD }} -t ${{ secrets.DOCKER_USERNAME }}/mirea-backend:latest . + docker build --build-arg NUGET_USERNAME=${{ secrets.NUGET_USERNAME }} --build-arg NUGET_PASSWORD=${{ secrets.NUGET_PASSWORD }} --build-arg NUGET_ADDRESS=${{ secrets.NUGET_ADDRESS }} -t ${{ secrets.DOCKER_USERNAME }}/mirea-backend:latest . docker push ${{ secrets.DOCKER_USERNAME }}/mirea-backend:latest - name: Start ssh-agent diff --git a/Backend.sln b/Backend.sln index 6cb0a6d..ee30ecc 100644 --- a/Backend.sln +++ b/Backend.sln @@ -12,11 +12,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Elements of the solution", .env = .env .gitattributes = .gitattributes .gitignore = .gitignore - .gitea\workflows\deploy-stage.yaml = .gitea\workflows\deploy-stage.yaml + .github\workflows\code-analyze.yaml = .github\workflows\code-analyze.yaml Dockerfile = Dockerfile LICENSE.txt = LICENSE.txt README.md = README.md - .gitea\workflows\test.yaml = .gitea\workflows\test.yaml + .github\workflows\release-version.yml = .github\workflows\release-version.yml EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApiDto", "ApiDto\ApiDto.csproj", "{0335FA36-E137-453F-853B-916674C168FE}" diff --git a/Dockerfile b/Dockerfile index 386c02f..0661923 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base LABEL company="Winsomnia" LABEL maintainer.name="Wesser" maintainer.email="support@winsomnia.net" WORKDIR /app @@ -13,10 +13,14 @@ COPY . . ARG NUGET_USERNAME ARG NUGET_PASSWORD +ARG NUGET_ADDRESS + ENV NUGET_USERNAME=$NUGET_USERNAME ENV NUGET_PASSWORD=$NUGET_PASSWORD +ENV NUGET_ADDRESS=$NUGET_ADDRESS -RUN dotnet restore ./Backend.sln --configfile nuget.config +RUN dotnet nuget add source --name="Winsomnia" --username ${NUGET_USERNAME} --store-password-in-clear-text --password ${NUGET_PASSWORD} ${NUGET_ADDRESS} +RUN dotnet restore ./Backend.sln WORKDIR /app WORKDIR /src RUN dotnet publish ./Endpoint/Endpoint.csproj -c Release --self-contained false -p:PublishSingleFile=false -o /app diff --git a/nuget.config b/nuget.config deleted file mode 100644 index 96674ab..0000000 --- a/nuget.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file