From b3021b3dee02fcd0b16e1272f36474ef17b928ea Mon Sep 17 00:00:00 2001 From: Leefrost Date: Thu, 30 Mar 2023 20:30:09 +0300 Subject: [PATCH] Added base release config --- .github/workflows/package.yml | 23 ----- .github/workflows/publish.yml | 88 +++++++++++++++++++ HttpClient.Cache.nuspec | 38 -------- icon.png | Bin 0 -> 8063 bytes src/HttpClient.Cache/HttpClient.Cache.csproj | 37 ++++++++ 5 files changed, 125 insertions(+), 61 deletions(-) delete mode 100644 .github/workflows/package.yml create mode 100644 .github/workflows/publish.yml delete mode 100644 HttpClient.Cache.nuspec create mode 100644 icon.png diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml deleted file mode 100644 index 454a6f9..0000000 --- a/.github/workflows/package.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Package -on: - push: - branches: - - main - paths: - - 'HttpClient.Cache.nuspec' -jobs: - publish: - name: Publish to NuGet.org - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - uses: nuget/setup-nuget@v1 - with: - nuget-version: '6.x' - - - name: Create the package - run: nuget pack HttpClient.Cache.nuspec -NoDefaultExcludes - - #- name: Publish the package - # run: nuget push *.nupkg -Source 'https://api.nuget.org/v3/index.json' -ApiKey ${{secrets.NUGET_API_KEY}} -SkipDuplicate \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..700e100 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,88 @@ +name: Publish +on: + push: + branches: + - main + pull_request: + branches: + - '*' + release: + types: + - published + +defaults: + run: + shell: pwsh + +env: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_NOLOGO: true + NuGetDirectory: ${{ github.workspace}}/nuget + +jobs: + create_nuget: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + + - run: dotnet pack --configuration Release --output ${{ env.NuGetDirectory }} + + - uses: actions/upload-artifact@v3 + with: + name: nuget + if-no-files-found: error + retention-days: 7 + path: ${{ env.NuGetDirectory }}/*.nupkg + + validate_nuget: + runs-on: ubuntu-latest + needs: [ create_nuget ] + steps: + - name: Setup .NET + uses: actions/setup-dotnet@v3 + + - uses: actions/download-artifact@v3 + with: + name: nuget + path: ${{ env.NuGetDirectory }} + + - name: Install nuget validator + run: dotnet tool update Meziantou.Framework.NuGetPackageValidation.Tool --global + + - name: Validate package + run: meziantou.validate-nuget-package (Get-ChildItem "${{ env.NuGetDirectory }}/*.nupkg") + + run_test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + + - name: Run tests + run: dotnet test --configuration Release + + deploy: + if: github.event_name == 'release' + runs-on: ubuntu-latest + needs: [ validate_nuget, run_test ] + steps: + - uses: actions/download-artifact@v3 + with: + name: nuget + path: ${{ env.NuGetDirectory }} + + - name: Setup .NET Core + uses: actions/setup-dotnet@v3 + + - name: Publish NuGet package + run: | + foreach($file in (Get-ChildItem "${{ env.NuGetDirectory }}" -Recurse -Include *.nupkg)) { + dotnet nuget push $file --api-key "${{ secrets.NUGET_APIKEY }}" --source https://api.nuget.org/v3/index.json --skip-duplicate + } \ No newline at end of file diff --git a/HttpClient.Cache.nuspec b/HttpClient.Cache.nuspec deleted file mode 100644 index 4928009..0000000 --- a/HttpClient.Cache.nuspec +++ /dev/null @@ -1,38 +0,0 @@ - - - - - Leefrost.HttpClient.Cache - 0.0.1 - HttpClient.Cache - Sergii Lischuk - Clean Architecture Solution Template for and .NET 6. - - This is a solution template for creating a Single Page App (SPA) with ASP.NET Core 6 and Angular 13 following the principles of Clean Architecture. - - - Recreated the Todo page demo that was broken in the Angular 13 upgrade. - - - https://github.com/JasonTaylorDev/CleanArchitecture - - - MIT - false - csharp dotnet httpclient cache - icon.png - README.md - - - - - - - - - - - - - - diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..691658604f26fe41d8bb089436e266a65911db99 GIT binary patch literal 8063 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 + + Sergii Lischuk + A simple and easy cache for HttpClient + https://codestory.me + cache, httpclient, library + + True + $(NoWarn);CS1591 + true + + + + + + MIT + + + + README.md + + + + icon.png + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive +