- Add Node.js variant-api server with PostgreSQL integration - Add new utility scripts for system verification and website status - Update CI/CD workflow configuration - Add color variant solution documentation - Add product variants JavaScript support - Update gitignore for new build artifacts
51 lines
1.3 KiB
YAML
Executable File
51 lines
1.3 KiB
YAML
Executable File
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."
|