Repository navigation
Merge pull request #633 from TransactionProcessing/bug/codacy_issues_… #190
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish Pre-Release Nuget and Docker | |
| on: | |
| push: | |
| # branches to consider in the event; optional, defaults to all | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| name: "Publish Pre-Release Nugets and Docker" | |
| env: | |
| ASPNETCORE_ENVIRONMENT: "Production" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v2.3.4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Restore Nuget Packages | |
| run: dotnet restore EstateReportingAPI.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }} | |
| - name: Build Code | |
| run: dotnet build EstateReportingAPI.sln --configuration Release | |
| - name: 'Get Previous tag' | |
| id: get-latest-tag | |
| uses: actions-ecosystem/action-get-latest-tag@v1 | |
| with: | |
| semver_only: true | |
| - name: 'Bump Version' | |
| id: bump-semver | |
| uses: actions-ecosystem/action-bump-semver@v1 | |
| with: | |
| current_version: ${{ steps.get-latest-tag.outputs.tag }} | |
| level: patch | |
| - name: Print Version | |
| id: next_version | |
| run: echo ::set-output name=VERSION::${{ steps.bump-semver.outputs.new_version }}.$GITHUB_RUN_NUMBER | |
| - name: Build and Publish Nuget Packages | |
| run: | | |
| dotnet pack "EstateReportingAPI.Client\EstateReportingAPI.Client.csproj" /p:PackageVersion=${{ steps.next_version.outputs.VERSION }} --output Nugets -c Release | |
| dotnet nuget push Nugets/EstateReportingAPI.Client.${{ steps.next_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} | |
| - name: Publish Images to Docker Hub | |
| run: | | |
| docker build . --file EstateReportingAPI/Dockerfile --tag stuartferguson/estatereportingapi:master | |
| docker login --username=${{ secrets.DOCKER_USERNAME }} --password=${{ secrets.DOCKER_PASSWORD }} | |
| docker push stuartferguson/estatereportingapi:master | |
| - name: Publish API | |
| run: dotnet publish "EstateReportingAPI\EstateReportingAPI.csproj" --configuration Release --output publishOutput -r win-x64 --self-contained | |
| -p:Version=${{ steps.next_version.outputs.VERSION }} | |
| -p:AssemblyVersion=${{ steps.next_version.outputs.VERSION }} | |
| -p:FileVersion=${{ steps.next_version.outputs.VERSION }} | |
| -p:InformationalVersion=${{ steps.next_version.outputs.VERSION }} | |
| - name: Build Release Package | |
| run: | | |
| cd /home/runner/work/EstateReportingAPI/EstateReportingAPI/publishOutput | |
| zip -r ../estatereportingapi.zip ./* | |
| - name: Upload the artifact | |
| uses: actions/upload-artifact@v4.4.0 | |
| with: | |
| name: estatereportingapi | |
| path: estatereportingapi.zip | |
| deploydevelopment: | |
| runs-on: [developmentserver, windows] | |
| needs: build | |
| environment: development | |
| name: "Deploy to Development" | |
| steps: | |
| - name: Download the artifact | |
| uses: actions/download-artifact@v4.1.8 | |
| with: | |
| name: estatereportingapi | |
| - name: Remove existing Windows service | |
| run: | | |
| $serviceName = "Transaction Processing - Estate Reporting" | |
| # Check if the service exists | |
| if (Get-Service -Name $serviceName -ErrorAction SilentlyContinue) { | |
| Stop-Service -Name $serviceName | |
| sc.exe delete $serviceName | |
| } | |
| - name: Unzip the files | |
| run: | | |
| Expand-Archive -Path estatereportingapi.zip -DestinationPath "C:\txnproc\transactionprocessing\estatereportingapi" -Force | |
| - name: Install as a Windows service | |
| run: | | |
| $serviceName = "Transaction Processing - Estate Reporting" | |
| $servicePath = "C:\txnproc\transactionprocessing\estatereportingapi\EstateReportingAPI.exe" | |
| New-Service -Name $serviceName -BinaryPathName $servicePath -Description $serviceName -DisplayName $serviceName -StartupType Automatic | |
| Start-Service -Name $serviceName |