diff --git a/.github/workflows/nuget-lykke-business.yml b/.github/workflows/nuget-lykke-business.yml deleted file mode 100644 index bfa1f00..0000000 --- a/.github/workflows/nuget-lykke-business.yml +++ /dev/null @@ -1,106 +0,0 @@ -name: Publish Lykke Infrastructure NuGet Package -# This workflow is agreed on and requirements are documented -# in https://bit.ly/4529Q9Q. - -on: - workflow_dispatch: - inputs: - version: - description: "Version number (e.g. v1.0.0)" - required: true - default: "v1.0.0" - create_release: - description: "Create a GitHub release" - required: true - default: "true" - update_changelog: - description: "Update CHANGELOG.md" - required: true - default: "true" - release_name: - description: "Release name. If empty, will be extracted from CHANGELOG.md or default value [Release ${VERSION}] will be used" - required: false - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ github.ref }} - - - name: Checkout deployment tools - run: | - git clone -v https://${{ secrets.BITBUCKET_USER }}:${{ secrets.BITBUCKET_PASSWORD }}@bitbucket.org/lykke-snow/lykke.snow.deployment.git lykke.snow.deployment - - - name: Parse version number - uses: LykkeBusiness/.github/actions/parse-version@master - with: - version: ${{ github.event.inputs.version }} - - - name: Inject new version into changelog file - if: ${{ github.event.inputs.update_changelog == 'true' }} - uses: LykkeBusiness/.github/actions/inject-version-changelog@master - with: - version: ${{ env.TAG_NUMBERS }} - - - name: Update .csproj files with new version - uses: LykkeBusiness/.github/actions/update-version-csproj@master - with: - version: ${{ env.TAG_NUMBERS }} - - # Tags the current commit with the new version - - name: Tag version - run: | - git config --global user.name 'GitHub Actions' - git config --global user.email 'actions@github.com' - git add -A - git reset -- lykke.snow.deployment - git commit -m "Version ${{ env.TAG_NUMBERS }}" - git tag -fa ${{ github.event.inputs.version }} -m "${{ github.event.inputs.version }}" - git push origin --tags - git push origin ${{ github.ref }} - - - name: Setup .NET Core - uses: actions/setup-dotnet@v4 - - - name: Restore dependencies - run: dotnet restore - - - name: Build - run: dotnet build --configuration Release --no-restore - - - name: Test - run: dotnet test --no-restore --verbosity normal - - - name: Pack - run: dotnet pack --no-build --configuration Release -o out - - - name: Push - run: dotnet nuget push out/*.nupkg --api-key ${{ secrets.NUGET_TOKEN }} --source https://api.nuget.org/v3/index.json --skip-duplicate - - - name: Extract release notes from changelog file - if: ${{ github.event.inputs.create_release == 'true' }} - uses: LykkeBusiness/.github/actions/extract-notes-changelog@master - with: - auto_name_release: true - release_name: ${{ github.event.inputs.release_name }} - version: ${{ env.TAG_NUMBERS }} - - # Creates a GitHub release with the release name and release notes from CHANGELOG.md - - name: Create GitHub Release - if: ${{ github.event.inputs.create_release == 'true' }} - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.event.inputs.version }} - release_name: ${{ env.RELEASE_NAME }} - body_path: ${{ env.RELEASE_NOTES_FILE }} - draft: false - prerelease: false - - - name: Clean up temporary files - run: rm -f ${{ env.RELEASE_NOTES_FILE }} diff --git a/.github/workflows/publish-nuget-package.yml b/.github/workflows/publish-nuget-package.yml new file mode 100644 index 0000000..e22600e --- /dev/null +++ b/.github/workflows/publish-nuget-package.yml @@ -0,0 +1,50 @@ +name: Publish NuGet Package + +on: + workflow_dispatch: + inputs: + version: + type: string + description: 'Version number (e.g. v1.0.0)' + required: true + default: 'v1.0.0' + create_release: + type: boolean + description: 'Create a GitHub release' + required: true + default: true + update_changelog: + type: boolean + description: 'Update CHANGELOG.md' + required: true + default: true + release_name: + type: string + description: 'Release name. If empty, will be extracted from CHANGELOG.md or default value [Release ${VERSION}] will be used' + required: false + excluded_vulnerable_packages: + type: string + description: 'Comma-separated list of packages to exclude from vulnerability check' + required: false + default: '' + excluded_deprecated_packages: + type: string + description: 'Comma-separated list of packages to exclude from deprecated check' + required: false + default: '' +jobs: + publish-nuget: + name: Publish Nuget Package + uses: LykkeBusiness/.github/.github/workflows/publish-nuget-package.yml@master + with: + version: ${{ github.event.inputs.version }} + create_release: ${{ fromJSON(github.event.inputs.create_release) }} + update_changelog: ${{ fromJSON(github.event.inputs.update_changelog) }} + release_name: ${{ github.event.inputs.release_name }} + excluded_vulnerable_packages: ${{ github.event.inputs.excluded_vulnerable_packages }} + excluded_deprecated_packages: ${{ github.event.inputs.excluded_deprecated_packages }} + path: '.' + nuget-project-path: './src/Lykke.Cqrs' + changelog_path: '.' + secrets: + inherit diff --git a/Lykke.Cqrs.sln b/Lykke.Cqrs.sln index c0f9e42..7360260 100644 --- a/Lykke.Cqrs.sln +++ b/Lykke.Cqrs.sln @@ -7,6 +7,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ProjectSection(SolutionItems) = preProject global.json = global.json CHANGELOG.md = CHANGELOG.md + .github\workflows\publish-nuget-package.yml = .github\workflows\publish-nuget-package.yml EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lykke.Cqrs", "src\Lykke.Cqrs\Lykke.Cqrs.csproj", "{5E6D3D86-33B6-4821-9F40-0FCFD4824EA0}"