Skip to content

Simplify MSBuild and CI #154

Simplify MSBuild and CI

Simplify MSBuild and CI #154

Workflow file for this run

name: CI Build
on:
workflow_dispatch: {}
push:
branches: [ "main" ]
paths:
- 'src/**/*'
- '.github/workflows/*'
- '.github/actions/*'
pull_request:
branches: [ "main" ]
paths:
- 'src/**/*'
- '.github/workflows/*'
- '.github/actions/*'
env:
CI: true
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_NOLOGO: true
MSBUILDTERMINALLOGGER: off
jobs:
build:
name: Build, test, and pack
runs-on: windows-latest
permissions:
checks: write
steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x
# Build and pack Twilio.AspNet.Common
- name: (Twilio.AspNet.Common) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Common/
- name: (Twilio.AspNet.Common) Build
run: dotnet build --no-restore --configuration Release
working-directory: src/Twilio.AspNet.Common/
- name: (Twilio.AspNet.Common) Pack
run: dotnet pack --no-restore --no-build --configuration Release --output ..\..\
working-directory: src/Twilio.AspNet.Common/
- name: (Twilio.AspNet.Common) Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: Twilio.AspNet.Common NuGet Package
path: |
Twilio.AspNet.Common.*.nupkg
Twilio.AspNet.Common.*.snupkg
# Build, test, and pack Twilio.AspNet.Core
- name: (Twilio.AspNet.Core) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Core/
- name: (Twilio.AspNet.Core) Build
run: dotnet build --no-restore --configuration Release
working-directory: src/Twilio.AspNet.Core/
- name: (Twilio.AspNet.Core.UnitTests) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Core.UnitTests/
- name: (Twilio.AspNet.Core.UnitTests) Build
run: dotnet build --no-restore
working-directory: src/Twilio.AspNet.Core.UnitTests/
- name: (Twilio.AspNet.Core.UnitTests) Test
run: dotnet test --no-restore --no-build
working-directory: src/Twilio.AspNet.Core.UnitTests/
- name: (Twilio.AspNet.Core) Pack
run: dotnet pack --no-restore --no-build --configuration Release --output ..\..\
working-directory: src/Twilio.AspNet.Core/
- name: (Twilio.AspNet.Core) Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: Twilio.AspNet.Core NuGet Package
path: |
Twilio.AspNet.Core.*.nupkg
Twilio.AspNet.Core.*.snupkg
# Build, test, and pack Twilio.AspNet.Mvc
- name: (Twilio.AspNet.Mvc) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Mvc/
- name: (Twilio.AspNet.Mvc) Build
run: dotnet build --no-restore --configuration Release
working-directory: src/Twilio.AspNet.Mvc/
- name: (Twilio.AspNet.Mvc.UnitTests) Restore
run: dotnet restore
working-directory: src/Twilio.AspNet.Mvc.UnitTests/
- name: (Twilio.AspNet.Mvc.UnitTests) Build
run: dotnet build --no-restore
working-directory: src/Twilio.AspNet.Mvc.UnitTests/
- name: (Twilio.AspNet.Mvc.UnitTests) Test
run: dotnet test --no-build --no-restore
working-directory: src/Twilio.AspNet.Mvc.UnitTests/
- name: (Twilio.AspNet.Mvc) Pack
run: dotnet pack --no-build --no-restore --configuration Release --output ..\..\
working-directory: src/Twilio.AspNet.Mvc/
- name: (Twilio.AspNet.Mvc) Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: Twilio.AspNet.Mvc NuGet Package
path: |
Twilio.AspNet.Mvc.*.nupkg
Twilio.AspNet.Mvc.*.snupkg