name: Net.Maui.Extensions CD Pipeline on: push: branches: - master paths: - Net.Maui.Extensions/** - ".github/workflows/cd.yaml" jobs: build: environment: Default strategy: matrix: targetplatform: [x64] runs-on: windows-latest env: Configuration: Release Solution_Path: Net.Maui.Extensions.sln Source_Project_Path: Net.Maui.Extensions\Net.Maui.Extensions.csproj Actions_Allow_Unsecure_Commands: true steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install .NET Core uses: actions/setup-dotnet@v5 with: dotnet-version: '8.0.x' - name: Setup MSBuild.exe uses: microsoft/setup-msbuild@v2.0.0 - 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 Net.Maui.Extensions project run: dotnet build $env:Source_Project_Path -c $env:Configuration - name: Package Net.Maui.Extensions run: dotnet pack -c Release -o . $env:Source_Project_Path - name: Publish run: dotnet nuget push *.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate