Skip to content

bump to 4.13.2-rc.1 #152

bump to 4.13.2-rc.1

bump to 4.13.2-rc.1 #152

Workflow file for this run

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