diff --git a/.github/workflows/console_pull_request.yml b/.github/workflows/console_pull_request.yml index 240d1fb..89fe433 100644 --- a/.github/workflows/console_pull_request.yml +++ b/.github/workflows/console_pull_request.yml @@ -1 +1,58 @@ 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: 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 +