From 2236f5f483a677aeea370679f04083dd1795ce19 Mon Sep 17 00:00:00 2001 From: Miha Kralj Date: Sat, 12 Oct 2024 21:42:19 -0700 Subject: [PATCH] gitversion fix --- .github/workflows/Publish.yml | 57 ++++---- .github/workflows/main_automation.yml | 165 ------------------------ GitVersion.yml | 41 +----- SyntheticVendor/SyntheticVendor.csproj | 1 + lib/quantalib.csproj | 1 + quantower/Averages/_Averages.csproj | 1 + quantower/Statistics/_Statistics.csproj | 1 + quantower/Volatility/_Volatility.csproj | 1 + 8 files changed, 35 insertions(+), 233 deletions(-) delete mode 100644 .github/workflows/main_automation.yml diff --git a/.github/workflows/Publish.yml b/.github/workflows/Publish.yml index edd100b9..744e3dc4 100644 --- a/.github/workflows/Publish.yml +++ b/.github/workflows/Publish.yml @@ -70,9 +70,9 @@ jobs: run: | dotnet build --no-restore --configuration Debug dotnet build ./lib/quantalib.csproj --configuration Release --nologo - dotnet build ./quantower/Averages/Averages.csproj --configuration Release --nologo - dotnet build ./quantower/Statistics/Statistics.csproj --configuration Release --nologo - dotnet build ./quantower/Volatility/Volatility.csproj --configuration Release --nologo + dotnet build ./quantower/Averages/_Averages.csproj --configuration Release --nologo + dotnet build ./quantower/Statistics/_Statistics.csproj --configuration Release --nologo + dotnet build ./quantower/Volatility/_Volatility.csproj --configuration Release --nologo dotnet build ./SyntheticVendor/SyntheticVendor.csproj --configuration Release --nologo dotnet dotcover test Tests/Tests.csproj --dcReportType=HTML --dcoutput=./dotcover.html @@ -107,9 +107,9 @@ jobs: run: | dotnet build --no-restore --configuration Debug dotnet build ./lib/quantalib.csproj --configuration Release --nologo - dotnet build ./quantower/Averages/Averages.csproj --configuration Release --nologo - dotnet build ./quantower/Statistics/Statistics.csproj --configuration Release --nologo - dotnet build ./quantower/Volatility/Volatility.csproj --configuration Release --nologo + dotnet build ./quantower/Averages/_Averages.csproj --configuration Release --nologo + dotnet build ./quantower/Statistics/_Statistics.csproj --configuration Release --nologo + dotnet build ./quantower/Volatility/_Volatility.csproj --configuration Release --nologo dotnet build ./SyntheticVendor/SyntheticVendor.csproj --configuration Release --nologo - name: Run Tests with Coverage @@ -262,31 +262,25 @@ jobs: run: | dotnet build ./lib/quantalib.csproj --configuration Release --nologo \ -p:PackageVersion=${{ steps.gitversion.outputs.MajorMinorPatch }} - dotnet build ./quantower/Averages/Averages.csproj --configuration Release --nologo - dotnet build ./quantower/Statistics/Statistics.csproj --configuration Release --nologo - dotnet build ./quantower/Volatility/Volatility.csproj --configuration Release --nologo + dotnet build ./quantower/Averages/_Averages.csproj --configuration Release --nologo + dotnet build ./quantower/Statistics/_Statistics.csproj --configuration Release --nologo + dotnet build ./quantower/Volatility/_Volatility.csproj --configuration Release --nologo dotnet build ./SyntheticVendor/SyntheticVendor.csproj --configuration Release --nologo ############# Publish dev release - - name: Update Development Release + - name: Create or Update Development Release if: github.ref == 'refs/heads/dev' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - MYGET_URL: https://www.myget.org/feed/quantalib/package/nuget/QuanTAlib - PACKAGE_VERSION: ${{ steps.gitversion.outputs.NuGetVersion }} run: | - tag_name="development" - release_name="Development Build" - gh release delete $tag_name --yes || true - git push origin :refs/tags/$tag_name || true - gh release create $tag_name \ - --title "$release_name" \ - --notes "Latest development build from commit ${{ github.sha }} - - MyGet Package: [$MYGET_URL/$PACKAGE_VERSION]($MYGET_URL/$PACKAGE_VERSION) \n" \ + gh release delete development --yes || true + gh release create development \ + --title "Development Build" \ + --notes "Latest development build from commit ${{ github.sha }}" \ --prerelease \ --target ${{ github.sha }} \ + lib/bin/Release/QuanTAlib.dll \ quantower/Averages/bin/Release/Averages.dll \ quantower/Statistics/bin/Release/Statistics.dll \ quantower/Volatility/bin/Release/Volatility.dll \ @@ -302,20 +296,17 @@ jobs: ############## Publish main release - - name: Publish release assets + - name: Create GitHub Release if: ${{ github.ref == 'refs/heads/main' }} - uses: SourceSprint/upload-multiple-releases@1.0.7 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - prerelease: false - overwrite: true - release_name: ${{ steps.gitversion.outputs.MajorMinorPatch }} - tag_name: latest - release_config: | - quantower/Averages/bin/Release/Averages.dll - quantower/Statistics/bin/Release/Statistics.dll - quantower/Volatility/bin/Release/Volatility.dll + run: | + gh release create v${{ steps.gitversion.outputs.MajorMinorPatch }} \ + --title "Release ${{ steps.gitversion.outputs.MajorMinorPatch }}" \ + --notes "Release notes for version ${{ steps.gitversion.outputs.MajorMinorPatch }}" \ + quantower/Averages/bin/Release/Averages.dll \ + quantower/Statistics/bin/Release/Statistics.dll \ + quantower/Volatility/bin/Release/Volatility.dll \ SyntheticVendor/bin/Release/SyntheticVendor.dll - name: Push release package to nuget.org @@ -324,4 +315,4 @@ jobs: dotnet nuget push 'lib/bin/Release/QuanTAlib.*.nupkg' \ --source https://api.nuget.org/v3/index.json \ --skip-duplicate \ - --api-key ${{ secrets.NUGET_DEPLOY_KEY_QUANTLIB }} \ No newline at end of file + --api-key ${{ secrets.NUGET_DEPLOY_KEY_QUANTLIB }} diff --git a/.github/workflows/main_automation.yml b/.github/workflows/main_automation.yml deleted file mode 100644 index 8a7cc8e1..00000000 --- a/.github/workflows/main_automation.yml +++ /dev/null @@ -1,165 +0,0 @@ -name: Stage/build/test/release/publish -on: - workflow_dispatch: - -jobs: - build_test: - #runs-on: windows-latest - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - -############## Install tools - - - name: Create Quantower folder at root - run: | - sudo mkdir -p /Quantower/ - sudo chmod -R 777 /Quantower - - - name: Install .NET - uses: actions/setup-dotnet@v3 - with: - dotnet-version: '8.x' - dotnet-quality: 'preview' - - - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0 - with: - versionSpec: '6.x' - includePrerelease: true - - - name: Determine Version - id: gitversion - uses: gittools/actions/gitversion/execute@v0 - with: - useConfigFile: true - #configFilePath: GitVersion.yml - updateAssemblyInfo: true - -############## Install more tools - - - name: Install JDK11 for Sonar Scanner - uses: actions/setup-java@v3 - with: - java-version: 11 - distribution: 'zulu' - - - name: Install JetBrains - run: dotnet tool install JetBrains.dotCover.GlobalTool --global - - name: Install Sonar Scanner - run: dotnet tool install dotnet-sonarscanner --global - - name: Install dotnet-coverage - run: dotnet tool install dotnet-coverage --global - - - name: Sonar start - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: dotnet sonarscanner begin /o:"mihakralj" /k:"mihakralj_QuanTAlib" - /d:sonar.login="${{ secrets.SONAR_TOKEN }}" - /d:sonar.host.url="https://sonarcloud.io" - /d:sonar.cs.dotcover.reportsPaths=dotcover* - -############# Build and test - - - name: Build projects - run: | - dotnet build ./lib/quantalib.csproj --configuration Release --nologo \ - -p:PackageVersion=${{ github.ref == 'refs/heads/dev' && steps.gitversion.outputs.FullSemVer || steps.gitversion.outputs.MajorMinorPatch }} - dotnet build ./quantower/Averages/Averages.csproj --configuration Release --nologo - dotnet build ./quantower/Statistics/Statistics.csproj --configuration Release --nologo - dotnet build ./quantower/Volatility/Volatility.csproj --configuration Release --nologo - dotnet build ./SyntheticVendor/SyntheticVendor.csproj --configuration Release --nologo - - - name: DotCover Test HTML - if: ${{ github.ref == 'refs/heads/dev' }} - run: dotnet dotcover test tests/tests.csproj --dcReportType=HTML --dcoutput=./dotcover.html - - name: DotCover Test XML - if: ${{ github.ref == 'refs/heads/dev' }} - run: dotnet dotcover test tests/tests.csproj --dcReportType=DetailedXML --dcoutput=./dotcover.xml --verbosity=Detailed - - name: Coverlet Test - if: ${{ github.ref == 'refs/heads/dev' }} - run: dotnet test -p:CollectCoverage=true --collect:"XPlat Code Coverage" --results-directory "./" - -############## Report to Sonar/CodeCov/Codacy - - - name: Move coverage report to project root - if: ${{ github.ref == 'refs/heads/dev' }} - run: | - dotnet test ./Tests/Tests.csproj --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput="./TestResults/" - dotnet-coverage collect "dotnet test" -f xml -o "coverage.xml" - - - name: Upload to Codacy - if: ${{ github.ref == 'refs/heads/dev' }} - uses: codacy/codacy-coverage-reporter-action@v1 - with: - project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} - coverage-reports: "*cover*.xml" - - - name: Upload to Codecov - if: ${{ github.ref == 'refs/heads/dev' }} - uses: codecov/codecov-action@v3 - with: - files: cover* - verbose: true - - - name: Upload to Sonar - if: ${{ github.ref == 'refs/heads/dev' }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: dotnet sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}" - -############## Publish dev release - - - name: Publish dev release assets - if: ${{ github.ref == 'refs/heads/dev' }} - uses: SourceSprint/upload-multiple-releases@1.0.7 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - prerelease: true - overwrite: true - release_name: ${{ steps.gitversion.outputs.SemVer }} - tag_name: prerelease - release_config: | - lib/bin/Release/QuanTAlib.dll - quantower/Averages/bin/Release/Averages.dll - quantower/Statistics/bin/Release/Statistics.dll - SyntheticVendor/bin/Release/SyntheticVendor.dll - - - name: Push package to myget.org - run: dotnet nuget push 'lib/bin/Release/QuanTAlib.*.nupkg' - --api-key ${{ secrets.MYGET_DEPLOY_KEY_QUANTALIB }} - --source https://www.myget.org/F/quantalib/api/v2/package - --skip-duplicate - -############## Publish main release - - - name: Publish main release assets - if: ${{ github.ref == 'refs/heads/main' }} - uses: SourceSprint/upload-multiple-releases@1.0.7 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - prerelease: false - overwrite: true - release_name: ${{ steps.gitversion.outputs.MajorMinorPatch }} - tag_name: latest - release_config: | - lib/bin/Release/QuanTAlib.dll - quantower/Averages/bin/Release/Averages.dll - quantower/Statistics/bin/Release/Statistics.dll - quantower/Volatility/bin/Release/Volatility.dll - SyntheticVendor/bin/Release/SyntheticVendor.dll - - - name: Push package to nuget.org - if: ${{ github.ref == 'refs/heads/main' }} - run: dotnet nuget push 'lib/bin/Release/QuanTAlib.*.nupkg' - --api-key ${{ secrets.NUGET_DEPLOY_KEY_QUANTLIB }} - --source https://api.nuget.org/v3/index.json - --skip-duplicate - diff --git a/GitVersion.yml b/GitVersion.yml index 6fbaef20..61134695 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,46 +1,17 @@ -mode: ContinuousDeployment -assembly-versioning-scheme: MajorMinorPatch -assembly-file-versioning-scheme: MajorMinorPatch -tag-prefix: '[vV]?' +mode: ContinuousDelivery major-version-bump-message: '\+semver:\s?(breaking|major)' minor-version-bump-message: '\+semver:\s?(feature|minor)' patch-version-bump-message: '\+semver:\s?(fix|patch)' no-bump-message: '\+semver:\s?(none|skip)' -commit-message-incrementing: Enabled - branches: main: regex: ^main$ - mode: ContinuousDeployment - label: '' + mode: ContinuousDelivery increment: Patch - track-merge-target: false - source-branches: [] - tracks-release-branches: false - is-release-branch: true - pre-release-weight: 55000 - dev: - regex: ^dev$ - mode: ContinuousDelivery - label: '' - increment: Patch - track-merge-target: true - source-branches: ['main'] - tracks-release-branches: true - is-release-branch: false - pre-release-weight: 0 - - develop: - regex: ^develop$ - mode: ContinuousDelivery - label: '' - increment: Patch - track-merge-target: true - source-branches: ['main'] - tracks-release-branches: true - is-release-branch: false - pre-release-weight: 0 - + regex: ^dev(elop)?(ment)?$ + mode: ContinuousDeployment + increment: Inherit ignore: sha: [] +merge-message-formats: {} \ No newline at end of file diff --git a/SyntheticVendor/SyntheticVendor.csproj b/SyntheticVendor/SyntheticVendor.csproj index 6703559f..e853d674 100644 --- a/SyntheticVendor/SyntheticVendor.csproj +++ b/SyntheticVendor/SyntheticVendor.csproj @@ -1,6 +1,7 @@  Vendor + 0.0.0.0 diff --git a/lib/quantalib.csproj b/lib/quantalib.csproj index f7831c1f..716dc1ad 100644 --- a/lib/quantalib.csproj +++ b/lib/quantalib.csproj @@ -12,6 +12,7 @@ readme.md QuanTAlib QuanTAlib + 0.0.0.0 True AnyCPU False diff --git a/quantower/Averages/_Averages.csproj b/quantower/Averages/_Averages.csproj index 6b270b32..cadffce4 100644 --- a/quantower/Averages/_Averages.csproj +++ b/quantower/Averages/_Averages.csproj @@ -2,6 +2,7 @@ Averages Indicator + 0.0.0.0 bin\$(Configuration)\ true true diff --git a/quantower/Statistics/_Statistics.csproj b/quantower/Statistics/_Statistics.csproj index 0652872a..3f3ccd37 100644 --- a/quantower/Statistics/_Statistics.csproj +++ b/quantower/Statistics/_Statistics.csproj @@ -2,6 +2,7 @@ Statistics Indicator + 0.0.0.0 bin\$(Configuration)\ true true diff --git a/quantower/Volatility/_Volatility.csproj b/quantower/Volatility/_Volatility.csproj index 4edad8ee..eabfa6b9 100644 --- a/quantower/Volatility/_Volatility.csproj +++ b/quantower/Volatility/_Volatility.csproj @@ -2,6 +2,7 @@ Volatility Indicator + 0.0.0.0 bin\$(Configuration)\ true true