Files
SkyArtShop/.github/workflows/main.yml

51 lines
1.3 KiB
YAML

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Detect projects
id: detect
run: |
PROJECTS=$(find . -name '*.csproj' -not -path './.git/*')
COUNT=$(printf '%s\n' "$PROJECTS" | grep -c . || true)
echo "count=$COUNT" >> "$GITHUB_OUTPUT"
if [ "$COUNT" -gt 0 ]; then
echo "Found projects:" >> "$GITHUB_STEP_SUMMARY"
printf '%s\n' "$PROJECTS" >> "$GITHUB_STEP_SUMMARY"
else
echo "No .csproj files found" >> "$GITHUB_STEP_SUMMARY"
fi
- name: Restore
if: steps.detect.outputs.count != '0'
run: dotnet restore
- name: Build
if: steps.detect.outputs.count != '0'
run: dotnet build --no-restore --configuration Release
- name: Test
if: steps.detect.outputs.count != '0'
run: dotnet test --no-build --configuration Release --logger trx --results-directory TestResults
- name: No projects to build
if: steps.detect.outputs.count == '0'
run: echo "No .csproj found; nothing to build."