fix(templates,ci,docs): unblock chart/pie-chart/dashboard-02, fix pre… #37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache NuGet packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.nuget/packages | |
| key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/packages.lock.json') }} | |
| restore-keys: | | |
| ${{ runner.os }}-nuget- | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: | | |
| 9.0.x | |
| - name: Restore dependencies | |
| run: dotnet restore ShellUI.sln | |
| - name: Build | |
| run: dotnet build ShellUI.sln --no-restore --configuration Release | |
| - name: Run tests | |
| run: dotnet test ShellUI.sln --no-restore --no-build --configuration Release --verbosity normal | |
| # Guards against the template-escape bug class from shellui-fixes-for-lib.md | |
| # (Fixes 2, 9, 10). TemplateCompileTests verifies generated content parses; | |
| # this end-to-end build catches anything the syntactic check misses | |
| # (e.g. missing using directives). | |
| - name: Smoke-test CLI scaffolding | |
| shell: bash | |
| run: | | |
| set -euxo pipefail | |
| TMPDIR=$(mktemp -d) | |
| dotnet pack src/ShellUI.CLI/ShellUI.CLI.csproj -c Release -o "$TMPDIR/nupkgs" --no-build | |
| dotnet tool install --tool-path "$TMPDIR/tools" --add-source "$TMPDIR/nupkgs" ShellUI.CLI --prerelease | |
| export PATH="$TMPDIR/tools:$PATH" | |
| mkdir -p "$TMPDIR/app" && cd "$TMPDIR/app" | |
| dotnet new blazor -o SmokeApp --no-restore | |
| cd SmokeApp | |
| shellui init --tailwind standalone --yes | |
| # Hit the three components that regressed last time: | |
| shellui add chart pie-chart dashboard-02 --force || true | |
| # Chart components reference ApexCharts.* types — `shellui add chart` | |
| # does NOT auto-install Blazor-ApexCharts today (tracked as Fix 12.3: | |
| # `nugetDependencies` field on component manifests). Add it explicitly | |
| # here so the smoke test isolates THIS PR's bug class (template escapes) | |
| # from that one. When Fix 12.3 lands, remove this line. | |
| dotnet add package Blazor-ApexCharts --version 6.0.2 | |
| dotnet build -c Debug | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: nuget-packages | |
| path: | | |
| **/*.nupkg | |
| **/*.snupkg |