Skip to content

Commit 5dce19a

Browse files
committed
Add/update GitHub workflow actions
1 parent 0534f74 commit 5dce19a

File tree

4 files changed

+71
-38
lines changed

4 files changed

+71
-38
lines changed

.github/workflows/main.yml

-38
This file was deleted.

.github/workflows/publishnuget.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Publish Nuget Package
2+
3+
on:
4+
release:
5+
types:
6+
- created
7+
8+
jobs:
9+
build:
10+
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
dotnet-version: [ '8.0.x' ]
15+
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Setup .NET ${{ matrix.dotnet-version }}
20+
uses: actions/setup-dotnet@v4
21+
with:
22+
dotnet-version: ${{ matrix.dotnet-version }}
23+
24+
- name: Setup NuGet
25+
uses: NuGet/setup-nuget@v2
26+
27+
- name: Restore dependencies
28+
run: dotnet restore
29+
30+
- name: Build
31+
run: dotnet build -c Release --no-restore /p:Version="${{ github.event.release.tag_name }}"
32+
33+
- name: Run tests
34+
run: dotnet test -c Release --no-restore --no-build
35+
36+
- name: Create packages
37+
run: dotnet pack ${{ github.event.repository.name }} -c Release --no-restore --no-build -p:Version="${{ github.event.release.tag_name }}"
38+
39+
- name: Publish
40+
run: dotnet nuget push **\*.nupkg -s 'https://api.nuget.org/v3/index.json' -k ${{secrets.NUGET_API_KEY}}

.github/workflows/test.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Test
2+
3+
on:
4+
push
5+
6+
jobs:
7+
build:
8+
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
dotnet-version: [ '8.0.x' ]
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Setup .NET ${{ matrix.dotnet-version }}
18+
uses: actions/setup-dotnet@v4
19+
with:
20+
dotnet-version: ${{ matrix.dotnet-version }}
21+
22+
- name: Setup NuGet
23+
uses: NuGet/setup-nuget@v2
24+
25+
- name: Restore dependencies
26+
run: dotnet restore
27+
28+
- name: Run tests
29+
run: dotnet test --no-restore

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ![Logo](https://raw.githubusercontent.com/RobThree/AutoRefreshTokenHttpMessageHandler/main/icon.png) AutoRefreshTokenHttpMessageHandler
22

3+
![Build Status](https://img.shields.io/github/actions/workflow/status/RobThree/AutoRefreshTokenHttpMessageHandler/test.yml?branch=main&style=flat-square) [![Nuget version](https://img.shields.io/nuget/v/AutoRefreshTokenHttpMessageHandler.svg?style=flat-square)](https://www.nuget.org/packages/AutoRefreshTokenHttpMessageHandler/)
4+
35
This is a thread-safe implementation of a `DelegatingHandler`, available as [Nuget package](https://www.nuget.org/packages/AutoRefreshTokenHttpMessageHandler/), that automatically refreshes the access token when the access token expires whilst **not** serializing all requests. Most implementations use a lock internally which essentially makes all async actions synchronous again. This implementation only blocks during the actual refresh. Inspired by Bryan Helms' [Thread-Safe Auth Token Store Using ConcurrentDictionary and AsyncLazy](https://bryanhelms.com/2021/03/29/thread-safe-auth-token-store-using-concurrentdictionary-and-asynclazy.html).
46

57
## Quickstart

0 commit comments

Comments
 (0)