Files
alt-gen/.github/workflows/console_pull_request.yml
T

65 lines
2.0 KiB
YAML

name: Console Pull Request
defaults:
run:
working-directory: ./src
on:
workflow_dispatch:
pull_request:
paths:
- src/AltGen.Console/**
- src/AltGen.Console.Tests/**
branches:
- main
jobs:
format:
name: Run dotnet format
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x.x
- name: Format projects
run: |
dotnet format ./AltGen.Console/AltGen.Console.csproj --verbosity normal
dotnet format ./AltGen.Console.Tests/AltGen.Console.Tests.csproj --verbosity normal
- name: Commit Changes
run: |
git config user.name "GitHub Actions"
git config user.email "<>"
if [[ $(git status --porcelain) ]]; then
git add .
git commit -m "chore: format fixes [skip ci]"
git fetch origin
git pull --rebase origin ${{ github.head_ref }}
git push origin HEAD:${{ github.head_ref }}
fi
build_and_test:
name: Run tests
needs: format
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.x.x
- name: Install report generator
run: dotnet tool install --global dotnet-reportgenerator-globaltool
- name: Restore dependencies
run: dotnet restore ./AltGen.Console.Tests/AltGen.Console.Tests.csproj
- name: Build project
run: dotnet build ./AltGen.Console.Tests/AltGen.Console.Tests.csproj --no-restore
- name: Test project
run: dotnet test ./AltGen.Console.Tests/AltGen.Console.Tests.csproj
- name: Upload test coverage report
uses: actions/upload-artifact@v4
with:
name: test-coverage
path: ./AltGen.Console.Tests/TestResults