bump to 4.13.2-rc.1
#152
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: .NET TUI CI | |
| on: | |
| pull_request: | |
| paths: | |
| - 'dotnet-tui/**' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Create .env file | |
| run: | | |
| echo "DITTO_APP_ID=dummy_id" > .env | |
| echo "DITTO_PLAYGROUND_TOKEN=dummy_token" >> .env | |
| echo "DITTO_AUTH_URL=https://auth.cloud.ditto.live" >> .env | |
| echo "DITTO_WEBSOCKET_URL=wss://cloud.ditto.live" >> .env | |
| - name: Run dotnet format check | |
| working-directory: dotnet-tui | |
| run: | | |
| dotnet format DittoDotNetTasksConsole/DittoDotNetTasksConsole.csproj --verify-no-changes --verbosity diagnostic | |
| if [ $? -ne 0 ]; then | |
| echo "❌ Code formatting issues found. Run 'dotnet format' to fix." | |
| exit 1 | |
| fi | |
| build: | |
| name: Build | |
| strategy: | |
| matrix: | |
| os: ["macos-latest", "ubuntu-latest", "windows-latest"] | |
| runs-on: ${{ matrix.os }} | |
| needs: lint | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Create .env file | |
| run: | | |
| echo "DITTO_APP_ID=dummy_id" > .env | |
| echo "DITTO_PLAYGROUND_TOKEN=dummy_token" >> .env | |
| echo "DITTO_AUTH_URL=https://auth.cloud.ditto.live" >> .env | |
| echo "DITTO_WEBSOCKET_URL=wss://cloud.ditto.live" >> .env | |
| shell: bash | |
| - name: Build project | |
| working-directory: dotnet-tui | |
| run: dotnet build DittoDotNetTasksConsole/DittoDotNetTasksConsole.csproj --configuration Release | |
| integration-test: | |
| name: Integration Test | |
| runs-on: ubuntu-latest | |
| needs: [lint, build] | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Create .env file | |
| run: | | |
| echo "DITTO_APP_ID=${{ secrets.DITTO_APP_ID }}" > .env | |
| echo "DITTO_PLAYGROUND_TOKEN=${{ secrets.DITTO_PLAYGROUND_TOKEN }}" >> .env | |
| echo "DITTO_AUTH_URL=${{ secrets.DITTO_AUTH_URL }}" >> .env | |
| echo "DITTO_WEBSOCKET_URL=${{ secrets.DITTO_WEBSOCKET_URL }}" >> .env | |
| - name: Seed test document to Ditto Cloud | |
| id: seed | |
| uses: ./.github/actions/seed-ditto-document | |
| with: | |
| ditto-api-key: ${{ secrets.DITTO_API_KEY }} | |
| ditto-api-url: ${{ secrets.DITTO_API_URL }} | |
| app-name: 'dotnet-tui' | |
| - name: Build .NET application | |
| working-directory: dotnet-tui | |
| run: dotnet build DittoDotNetTasksConsole/DittoDotNetTasksConsole.csproj --configuration Release | |
| - name: Run .NET integration tests | |
| working-directory: dotnet-tui | |
| env: | |
| DITTO_CLOUD_TASK_TITLE: ${{ steps.seed.outputs.document-title }} | |
| GITHUB_RUN_ID: ${{ github.run_id }} | |
| GITHUB_RUN_NUMBER: ${{ github.run_number }} | |
| run: dotnet test DittoDotNetTasksConsole.Tests --configuration Release --logger "console;verbosity=detailed" | |
| summary: | |
| name: CI Report | |
| runs-on: ubuntu-latest | |
| needs: [lint, build, integration-test] | |
| if: always() | |
| steps: | |
| - name: Report Results | |
| run: | | |
| echo "## 🔷 .NET TUI CI" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| # Overall status | |
| if [[ "${{ needs.lint.result }}" == "success" && \ | |
| "${{ needs.build.result }}" == "success" && \ | |
| "${{ needs.integration-test.result }}" == "success" ]]; then | |
| echo "**Overall Status:** ✅ All checks passed" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "**Overall Status:** ❌ Failed" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "| Job | Status |" >> $GITHUB_STEP_SUMMARY | |
| echo "|-----|--------|" >> $GITHUB_STEP_SUMMARY | |
| echo "| Lint | ${{ needs.lint.result == 'success' && '✅ Passed' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY | |
| echo "| Build | ${{ needs.build.result == 'success' && '✅ Passed' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY | |
| echo "| Integration Test | ${{ needs.integration-test.result == 'success' && '✅ Passed' || (needs.integration-test.result == 'skipped' && '⏭️ Skipped') || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY |