Skip to content

Commit

Permalink
Add github action files.
Browse files Browse the repository at this point in the history
  • Loading branch information
inversionhourglass committed Aug 13, 2024
1 parent 9de6cb0 commit 995b304
Show file tree
Hide file tree
Showing 3 changed files with 179 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/publish-prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Publish Prerelease NuGets
on:
push:
branches:
- prerelease
env:
TIMESTAMP: $(date +'%s')
SOLUTION: Rougamo.Retry.sln
jobs:
publish:
name: Build and Publish
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Remove Tests
run: dotnet sln ${{ env.SOLUTION }} remove (ls -r test/**/*.csproj)

- name: Restore NuGets
run: dotnet restore ${{ env.SOLUTION }}

- name: Build Solution
run: dotnet build --configuration Release --no-restore ${{ env.SOLUTION }} --version-suffix priview-${{ env.TIMESTAMP }}

- name: Delete exists packages
run: rm -r -fo nugets

- name: Pack Solution
run: dotnet pack ${{ env.SOLUTION }} --configuration Release --no-build --version-suffix priview-${{ env.TIMESTAMP }}

- name: Publish
run: dotnet nuget push nugets/**.nupkg -k ${{ secrets.API_KEY }} -s https://api.nuget.org/v3/index.json
49 changes: 49 additions & 0 deletions .github/workflows/publish-release-tag.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Publish Release NuGets on tag
on:
push:
tags:
- '*'
env:
SOLUTION: Rougamo.Retry.sln
jobs:
publish:
name: Build and Publish
runs-on: windows-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Restore NuGets
run: dotnet restore ${{ env.SOLUTION }}

- name: Build Solution
run: dotnet build --configuration Release --no-restore ${{ env.SOLUTION }}

- name: Run Tests
run: dotnet test --configuration Release --no-build ${{ env.SOLUTION }}

- name: Delete exists packages
run: rm -r -fo nugets

- name: Pack NuGets
run: dotnet pack ${{ env.SOLUTION }} --no-build --configuration Release

- name: Publish
run: dotnet nuget push nugets/**.nupkg -k ${{ secrets.API_KEY }} -s https://api.nuget.org/v3/index.json

- name: Create github release
uses: ncipollo/release-action@v1
with:
bodyFile: CHANGELOG.md
87 changes: 87 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Test
on:
push:
branches:
- master
paths:
- 'src/**'
- 'test/**'
- '.github/workflows/**'
env:
SOLUTION: Rougamo.Retry.sln
jobs:
windows:
name: Windows
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Restore NuGets
run: dotnet restore ${{ env.SOLUTION }}

- name: Build Solution in DEBUG
run: dotnet build --configuration Debug --no-restore ${{ env.SOLUTION }}

- name: Test in DEBUG
run: dotnet test --configuration Debug --no-build ${{ env.SOLUTION }}

- name: Build Solution in RELEASE
run: dotnet build --configuration Release --no-restore ${{ env.SOLUTION }}

- name: Test in RELEASE
run: dotnet test --configuration Release --no-build ${{ env.SOLUTION }}

linux:
name: Linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Restore NuGets
run: dotnet restore ${{ env.SOLUTION }}

- name: Build Solution in DEBUG
run: dotnet build --configuration Debug --no-restore ${{ env.SOLUTION }}

- name: Test in DEBUG with netcoreapp3.1
run: dotnet test --configuration Debug --no-build --framework netcoreapp3.1 ${{ env.SOLUTION }}

- name: Test in DEBUG with net6.0
run: dotnet test --configuration Debug --no-build --framework net6.0 ${{ env.SOLUTION }}

- name: Test in DEBUG with net8.0
run: dotnet test --configuration Debug --no-build --framework net8.0 ${{ env.SOLUTION }}

- name: Build Solution in RELEASE
run: dotnet build --configuration Release --no-restore ${{ env.SOLUTION }}

- name: Test in RELEASE with netcoreapp3.1
run: dotnet test --configuration Release --no-build --framework netcoreapp3.1 ${{ env.SOLUTION }}

- name: Test in RELEASE with net6.0
run: dotnet test --configuration Release --no-build --framework net6.0 ${{ env.SOLUTION }}

- name: Test in RELEASE with net8.0
run: dotnet test --configuration Release --no-build --framework net8.0 ${{ env.SOLUTION }}

0 comments on commit 995b304

Please sign in to comment.