Skip to content

Bump Microsoft.ServiceFabric.Actors from 7.1.2338 to 7.1.2448 (#206) #53

Bump Microsoft.ServiceFabric.Actors from 7.1.2338 to 7.1.2448 (#206)

Bump Microsoft.ServiceFabric.Actors from 7.1.2338 to 7.1.2448 (#206) #53

Workflow file for this run

name: NuGetCD
on:
push:
branches: [ master ]
paths:
- '**.cs'
- '**.csproj'
workflow_dispatch:
jobs:
prepare:
name: FetchAndTag
runs-on: windows-latest
env:
Test_Project_File: \test\ServiceFabric.Mocks.NetCoreTests\ServiceFabric.Mocks.NetCoreTests.csproj
steps:
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
# Echo context
- name: Echo context
shell: pwsh
run: |
$branch_name = $env:GITHUB_REF -replace 'refs/heads/', ''
Write-Host "Last merged branch: $branch_name"
# Check for SF updates before creating a new release
- name: Check for SF NuGet Package Version Change
id: check_version
shell: pwsh
run: |
# Specify the package you want to check
$PACKAGE_NAME="Microsoft.ServiceFabric.Actors"
$csprojPath = "./src/ServiceFabric.Mocks/ServiceFabric.Mocks.csproj"
# Get the diff and check for the package reference
$diff = git diff HEAD~1 -- $csprojPath
if ($diff -match "<PackageReference Include=`"$PACKAGE_NAME`"") {
Write-Host "SF Package version has changed."
echo "sf_ver_changed=true" >> $env:GITHUB_OUTPUT
} else {
Write-Host "No changes to SF package version."
echo "sf_ver_changed=false" >> $env:GITHUB_OUTPUT
}
# Run echo
- name: Echo status
if: ${{ steps.check_version.outputs.sf_ver_changed == 'true' }}
run: echo "This run will create a new release on GitHub and Nuget"
- name: Echo status
if: ${{ steps.check_version.outputs.sf_ver_changed == 'false' }}
run: echo "This run will NOT create a new release on GitHub and Nuget"
# create version
- name: Bump version and push tag
id: tag_version
uses: loekd/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
dry_run: ${{ steps.check_version.outputs.sf_ver_changed == 'true' }}
# install dotnet 6
- name: Setup .NET
uses: actions/setup-dotnet@v2
with:
dotnet-version: 6.0.x
# Install SF SDK
- name: Install SF
shell: pwsh
run: |
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser
$ProgressPreference = 'SilentlyContinue'
Invoke-RestMethod -OutFile setup.exe -Method GET -Uri https://download.microsoft.com/download/b/8/a/b8a2fb98-0ec1-41e5-be98-9d8b5abf7856/MicrosoftServiceFabric.10.1.2338.9590.exe
#.\setup.exe /accepteula /force /quiet
Start-Process setup.exe -UseNewEnvironment -ArgumentList '/accepteula /force /quiet' -Wait
# Create SNK
- name: Create SNK
shell: pwsh
run: |
.\ExtractPrivateKey.ps1 "${{ secrets.Pfx_Key }}"
# Execute all unit tests in the solution
- name: Execute unit tests
run: dotnet test --logger "trx;LogFileName=results.trx" ${Test_Project_File}
#Publish test results
- name: Publish Test Results
uses: loekd/publish-unit-test-result-action/composite@v2
if: always()
with:
trx_files: "**/*.trx"
# Run dotnet release build
- name: Run build
run: dotnet build --configuration RELEASE -p:PackageVersion=${{ steps.tag_version.outputs.new_version }}
# Run dotnet release pack
- name: Run pack
run: dotnet pack --configuration RELEASE -p:PackageVersion=${{ steps.tag_version.outputs.new_version }} -o ${{ github.workspace }}
# create GH release
- name: Create a GitHub release
if: ${{ steps.check_version.outputs.sf_ver_changed == 'true' }}
uses: loekd/release-action@v1
with:
tag: ${{ steps.tag_version.outputs.new_tag }}
name: Release ${{ steps.tag_version.outputs.new_tag }}
body: ${{ steps.tag_version.outputs.changelog }}
# publish nuget package artifact
- name: Upload Package for Publishing
if: ${{ steps.check_version.outputs.sf_ver_changed == 'true' }}
uses: actions/upload-artifact@v3
with:
name: PackedLib
path: ${{ github.workspace }}/ServiceFabric.Mocks.${{ steps.tag_version.outputs.new_version }}.nupkg
# publish GH nuget package artifact
- name: Push Package to GitHub
if: ${{ steps.check_version.outputs.sf_ver_changed == 'true' }}
run: dotnet nuget push --api-key ${{secrets.GITHUB_TOKEN}} --source "https://nuget.pkg.github.com/loekd/index.json" ${{ github.workspace }}/ServiceFabric.Mocks.${{ steps.tag_version.outputs.new_version }}.nupkg
# publish packge to nuget
- name: Push Package to GitHub
if: ${{ steps.check_version.outputs.sf_ver_changed == 'true' }}
run: dotnet nuget push --api-key ${{secrets.NUGETPUSH}} --source "https://api.nuget.org/v3/index.json" ${{ github.workspace }}/ServiceFabric.Mocks.${{ steps.tag_version.outputs.new_version }}.nupkg