name: SystemExtensions CD Pipeline on: push: branches: - master jobs: build: environment: Default strategy: matrix: targetplatform: [x64] runs-on: windows-latest env: Configuration: Release Solution_Path: SystemExtensions.sln Test_Project_Path: SystemExtensions.Tests\SystemExtensions.NetStandard.Tests.csproj DI_Test_Project_Path: SystemExtensions.DependencyInjection.Tests\SystemExtensions.NetStandard.DependencyInjection.Tests.csproj Source_Project_Path: SystemExtensions.NetStandard\SystemExtensions.NetStandard.csproj Core_Project_Path: SystemExtensions.NetCore\SystemExtensions.NetCore.csproj Actions_Allow_Unsecure_Commands: true steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install .NET Core uses: actions/setup-dotnet@v3 with: dotnet-version: '6.0.x' - name: Setup MSBuild.exe uses: microsoft/setup-msbuild@v1.0.1 - name: Restore project run: msbuild $env:Solution_Path /t:Restore /p:Configuration=$env:Configuration /p:RuntimeIdentifier=$env:RuntimeIdentifier env: RuntimeIdentifier: win-${{ matrix.targetplatform }} - name: Build SystemExtensions.NetStandard project run: dotnet build SystemExtensions.NetStandard -c $env:Configuration - name: Build SystemExtensions.NetCore project run: dotnet build SystemExtensions.NetCore -c $env:Configuration - name: Build SystemExtensions.NetStandard.DependencyInjection project run: dotnet build SystemExtensions.NetStandard.DependencyInjection -c $env:Configuration - name: Build SystemExtensions.NetStandard.Security project run: dotnet build SystemExtensions.NetStandard.Security -c $env:Configuration - name: Package SystemExtensions.NetStandard run: dotnet pack -c Release -o . SystemExtensions.NetStandard\SystemExtensions.NetStandard.csproj - name: Package SystemExtensions.NetCore run: dotnet pack -c Release -o . SystemExtensions.NetCore\SystemExtensions.NetCore.csproj - name: Package SystemExtensions.NetStandard.DependencyInjection run: dotnet pack -c Release -o . SystemExtensions.NetStandard.DependencyInjection\SystemExtensions.NetStandard.DependencyInjection.csproj - name: Package SystemExtensions.NetStandard.Security run: dotnet pack -c Release -o . SystemExtensions.NetStandard.Security\SystemExtensions.NetStandard.Security.csproj - name: Publish run: dotnet nuget push *.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate