Skip to content

Merge pull request #23 from steffenskov/dependabot/nuget/MongoDB.Driv… #20

Merge pull request #23 from steffenskov/dependabot/nuget/MongoDB.Driv…

Merge pull request #23 from steffenskov/dependabot/nuget/MongoDB.Driv… #20

Workflow file for this run

name: "Continuous Deployment"
on:
push:
branches: [ main ]
env:
PROJECT_PATH: 'src/SegregatedStorage/SegregatedStorage.csproj'
AZURE_PROJECT_PATH: 'src/SegregatedStorage.AzureStorageProvider/SegregatedStorage.AzureStorageProvider.csproj'
MONGO_PROJECT_PATH: 'src/SegregatedStorage.MongoFileRepository/SegregatedStorage.MongoFileRepository.csproj'
SOLUTION_PATH: 'SegregatedStorage.sln'
PACKAGE_OUTPUT_DIRECTORY: ${{ github.workspace }}/output
NUGET_SOURCE_URL: 'https://api.nuget.org/v3/index.json'
jobs:
test:
name: 'test'
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Install dotnet'
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: 'Restore packages'
run: dotnet restore ${{ env.SOLUTION_PATH }}
- name: Test
run: dotnet test ${{ env.SOLUTION_PATH }}
deploy:
needs: test
runs-on: 'ubuntu-latest'
steps:
- name: 'Checkout'
uses: actions/checkout@v4
- name: 'Install dotnet'
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: 'Restore packages'
run: dotnet restore ${{ env.SOLUTION_PATH }}
- name: 'Build project'
run: dotnet build ${{ env.SOLUTION_PATH }} --no-restore --configuration Release
- name: 'Get main version'
id: version
uses: bbonkr/get-version-action@v1.2.1
with:
project: ${{ env.PROJECT_PATH }}
- name: 'Get Azure version'
id: azure_version
uses: bbonkr/get-version-action@v1.2.1
with:
project: ${{ env.AZURE_PROJECT_PATH }}
- name: 'Get Mongo version'
id: mongo_version
uses: bbonkr/get-version-action@v1.2.1
with:
project: ${{ env.MONGO_PROJECT_PATH }}
- name: 'Pack main project'
run: dotnet pack ${{ env.PROJECT_PATH }} --no-restore --no-build --configuration Release --include-symbols -p:SymbolPackageFormat=snupkg -p:PackageVersion=${{ steps.version.outputs.version }} --output ${{ env.PACKAGE_OUTPUT_DIRECTORY }}
- name: 'Pack Azure extension'
run: dotnet pack ${{ env.AZURE_PROJECT_PATH }} --no-restore --no-build --configuration Release --include-symbols -p:SymbolPackageFormat=snupkg -p:PackageVersion=${{ steps.azure_version.outputs.version }} --output ${{ env.PACKAGE_OUTPUT_DIRECTORY }}
- name: 'Pack Mongo extension'
run: dotnet pack ${{ env.MONGO_PROJECT_PATH }} --no-restore --no-build --configuration Release --include-symbols -p:SymbolPackageFormat=snupkg -p:PackageVersion=${{ steps.mongo_version.outputs.version }} --output ${{ env.PACKAGE_OUTPUT_DIRECTORY }}
- name: 'Push package'
run: dotnet nuget push ${{ env.PACKAGE_OUTPUT_DIRECTORY }}/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s ${{ env.NUGET_SOURCE_URL }} --skip-duplicate