Skip to content

Merge pull request #142 from Swimburger/niels/update-gh-actions #133

Merge pull request #142 from Swimburger/niels/update-gh-actions

Merge pull request #142 from Swimburger/niels/update-gh-actions #133

Workflow file for this run

name: CI Build
on:
workflow_dispatch:
inputs:
libraryVersion:
description: 'The version of the library to use when compiling and packaging.'
default: 0.0.0-alpha
required: false
type: string
push:
branches: [ "main" ]
paths:
- 'src/**/*'
- '.github/workflows/*'
- '.github/actions/*'
pull_request:
branches: [ "main" ]
paths:
- 'src/**/*'
- '.github/workflows/*'
- '.github/actions/*'
workflow_call:
inputs:
libraryVersion:
type: string
description: 'The version of the library to use when compiling and packaging.'
required: true
env:
CI: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_NOLOGO: true
jobs:
build:
name: Build, test, and pack
runs-on: windows-latest
permissions:
contents: read
actions: read
checks: write
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
dotnet-quality: ga
- name: Update project versions
run: |
Get-ChildItem **/*.csproj -Recurse | ForEach-Object {
$FileContent = Get-Content $_
$NewVersion = '${{ inputs.libraryVersion }}'
if($NewVersion -eq '') { Return }
If($FileContent -like '*0.0.0-alpha*')
{
$FileContent -replace '0.0.0-alpha',$NewVersion | Set-Content -Path $_
}
}
shell: pwsh
# Build and pack Twilio.AspNet.Common
- name: (Twilio.AspNet.Common) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Common/
shell: pwsh
- name: (Twilio.AspNet.Common) Build
run: dotnet build --no-restore --configuration Release
working-directory: src/Twilio.AspNet.Common/
shell: pwsh
- name: (Twilio.AspNet.Common) Pack
run: dotnet pack -c Release -o ..\..\
working-directory: src/Twilio.AspNet.Common/
shell: pwsh
- name: (Twilio.AspNet.Common) Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: Twilio.AspNet.Common NuGet Package
path: |
Twilio.AspNet.Common.${{ inputs.libraryVersion || '0.0.0-alpha' }}.nupkg
Twilio.AspNet.Common.${{ inputs.libraryVersion || '0.0.0-alpha' }}.snupkg
# Build, test, and pack Twilio.AspNet.Core
- name: (Twilio.AspNet.Core) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Core/
shell: pwsh
- name: (Twilio.AspNet.Core) Build
run: dotnet build --no-restore --configuration Release
working-directory: src/Twilio.AspNet.Core/
shell: pwsh
- name: (Twilio.AspNet.Core.UnitTests) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Core.UnitTests/
shell: pwsh
- name: (Twilio.AspNet.Core.UnitTests) Build
run: dotnet build --no-restore
working-directory: src/Twilio.AspNet.Core.UnitTests/
shell: pwsh
- name: (Twilio.AspNet.Core.UnitTests) Test
run: dotnet test --no-build --logger trx
working-directory: src/Twilio.AspNet.Core.UnitTests/
shell: pwsh
- name: (Twilio.AspNet.Core.UnitTests) Report Tests
uses: dorny/test-reporter@v1
if: success() || failure() # run this step even if previous step failed
with:
name: Twilio.AspNet.Core.UnitTests
path: src/Twilio.AspNet.Core.UnitTests/TestResults/*.trx
reporter: dotnet-trx
- name: (Twilio.AspNet.Core) Pack
run: dotnet pack -c Release -o ..\..\
working-directory: src/Twilio.AspNet.Core/
shell: pwsh
- name: (Twilio.AspNet.Core) Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: Twilio.AspNet.Core NuGet Package
path: |
Twilio.AspNet.Core.${{ inputs.libraryVersion || '0.0.0-alpha' }}.nupkg
Twilio.AspNet.Core.${{ inputs.libraryVersion || '0.0.0-alpha' }}.snupkg
# Build, test, and pack Twilio.AspNet.Mvc
- name: (Twilio.AspNet.Mvc) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Mvc/
shell: pwsh
- name: (Twilio.AspNet.Mvc) Build
run: dotnet build --no-restore --configuration Release
working-directory: src/Twilio.AspNet.Mvc/
shell: pwsh
- name: (Twilio.AspNet.Mvc.UnitTests) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Mvc.UnitTests/
shell: pwsh
- name: (Twilio.AspNet.Mvc.UnitTests) Build
run: dotnet build --no-restore
working-directory: src/Twilio.AspNet.Mvc.UnitTests/
shell: pwsh
- name: (Twilio.AspNet.Mvc.UnitTests) Test
run: dotnet test --no-build --logger trx
working-directory: src/Twilio.AspNet.Mvc.UnitTests/
shell: pwsh
- name: (Twilio.AspNet.Mvc.UnitTests) Report Tests
uses: dorny/test-reporter@v1
if: success() || failure() # run this step even if previous step failed
with:
name: Twilio.AspNet.Mvc.UnitTests
path: src/Twilio.AspNet.Mvc.UnitTests/TestResults/*.trx
reporter: dotnet-trx
- name: (Twilio.AspNet.Mvc) Pack
run: dotnet pack -c Release -o ..\..\
working-directory: src/Twilio.AspNet.Mvc/
shell: pwsh
- name: (Twilio.AspNet.Mvc) Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: Twilio.AspNet.Mvc NuGet Package
path: |
Twilio.AspNet.Mvc.${{ inputs.libraryVersion || '0.0.0-alpha' }}.nupkg
Twilio.AspNet.Mvc.${{ inputs.libraryVersion || '0.0.0-alpha' }}.snupkg