From 993aa547cd47d2d479a8f853ca940d1698d4e84c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2026 01:42:24 +0000 Subject: [PATCH] chore(deps): Bump EnricoMi/publish-unit-test-result-action Bumps the github-actions-dependencies group with 1 update: [EnricoMi/publish-unit-test-result-action](https://github.com/enricomi/publish-unit-test-result-action). Updates `EnricoMi/publish-unit-test-result-action` from 2 to 2.23.0 - [Release notes](https://github.com/enricomi/publish-unit-test-result-action/releases) - [Commits](https://github.com/enricomi/publish-unit-test-result-action/compare/v2...v2.23.0) --- updated-dependencies: - dependency-name: EnricoMi/publish-unit-test-result-action dependency-version: 2.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions-dependencies ... Signed-off-by: dependabot[bot] --- .github/workflows/integration.yml | 262 ++++++++++++++-------------- .github/workflows/pr-validation.yml | 236 ++++++++++++------------- 2 files changed, 249 insertions(+), 249 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index afd40a2..7308aeb 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -1,131 +1,131 @@ -name: Integration Tests - -on: - push: - branches: [main] - schedule: - - cron: '0 6 * * *' # Daily at 6:00 UTC - workflow_dispatch: - inputs: - chat_model: - description: 'Ollama chat model to use' - required: false - default: 'qwen2.5:0.5b' - embedding_model: - description: 'Ollama embedding model to use' - required: false - default: 'all-minilm:22m' - -env: - DOTNET_NOLOGO: true - OLLAMA_CHAT_MODEL: ${{ inputs.chat_model || 'qwen2.5:0.5b' }} - OLLAMA_EMBEDDING_MODEL: ${{ inputs.embedding_model || 'all-minilm:22m' }} - EXTENSIONS_INTEGRATION_TESTS: 'true' - TUI_INTEGRATION_TESTS: 'true' - -jobs: - integration: - name: Integration Tests (Ollama) - runs-on: ubuntu-latest - timeout-minutes: 30 - permissions: - contents: read - checks: write - services: - ollama: - image: ollama/ollama:latest - ports: - - 11434:11434 - - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup .NET - uses: actions/setup-dotnet@v5 - with: - dotnet-version: | - 8.0.x - 10.0.x - - - name: Wait for Ollama - run: | - echo "โณ Waiting for Ollama to be ready..." - for i in $(seq 1 60); do - if curl -sf http://localhost:11434/api/version > /dev/null 2>&1; then - echo "โœ… Ollama is ready (attempt $i)" - curl -sf http://localhost:11434/api/version - exit 0 - fi - echo " Attempt $i/60 โ€” waiting..." - sleep 3 - done - echo "โŒ Ollama failed to start" - exit 1 - - - name: Pull models - run: | - echo "๐Ÿ“ฅ Pulling chat model: $OLLAMA_CHAT_MODEL" - curl -sf http://localhost:11434/api/pull \ - -d "{\"name\": \"$OLLAMA_CHAT_MODEL\"}" | \ - while IFS= read -r line; do - status=$(echo "$line" | jq -r '.status // empty' 2>/dev/null) - [ -n "$status" ] && echo " $status" - done - echo "โœ… Chat model ready" - - echo "๐Ÿ“ฅ Pulling embedding model: $OLLAMA_EMBEDDING_MODEL" - curl -sf http://localhost:11434/api/pull \ - -d "{\"name\": \"$OLLAMA_EMBEDDING_MODEL\"}" | \ - while IFS= read -r line; do - status=$(echo "$line" | jq -r '.status // empty' 2>/dev/null) - [ -n "$status" ] && echo " $status" - done - echo "โœ… Embedding model ready" - - - name: Verify models - run: | - echo "๐Ÿ” Available models:" - curl -sf http://localhost:11434/api/tags | jq -r '.models[].name' - - - name: Restore - run: dotnet restore JD.SemanticKernel.Extensions.slnx - - - name: Build - run: > - dotnet build JD.SemanticKernel.Extensions.slnx - --configuration Release - --no-restore - /p:ContinuousIntegrationBuild=true - - - name: Run integration tests - run: > - dotnet test JD.SemanticKernel.Extensions.slnx - --configuration Release - --no-build - --filter "Category=Integration" - --verbosity normal - --logger "trx;LogFileName=integration-results.trx" - -- - RunConfiguration.TestSessionTimeout=600000 - - - name: Publish test results - uses: EnricoMi/publish-unit-test-result-action@v2 - if: always() - with: - files: | - **/TestResults/**/*.trx - check_name: Integration Test Results - - - name: Summary - if: always() - run: | - echo "## ๐Ÿงช Integration Test Summary" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "| Setting | Value |" >> $GITHUB_STEP_SUMMARY - echo "|---------|-------|" >> $GITHUB_STEP_SUMMARY - echo "| Chat Model | \`$OLLAMA_CHAT_MODEL\` |" >> $GITHUB_STEP_SUMMARY - echo "| Embedding Model | \`$OLLAMA_EMBEDDING_MODEL\` |" >> $GITHUB_STEP_SUMMARY - echo "| Trigger | \`${{ github.event_name }}\` |" >> $GITHUB_STEP_SUMMARY +name: Integration Tests + +on: + push: + branches: [main] + schedule: + - cron: '0 6 * * *' # Daily at 6:00 UTC + workflow_dispatch: + inputs: + chat_model: + description: 'Ollama chat model to use' + required: false + default: 'qwen2.5:0.5b' + embedding_model: + description: 'Ollama embedding model to use' + required: false + default: 'all-minilm:22m' + +env: + DOTNET_NOLOGO: true + OLLAMA_CHAT_MODEL: ${{ inputs.chat_model || 'qwen2.5:0.5b' }} + OLLAMA_EMBEDDING_MODEL: ${{ inputs.embedding_model || 'all-minilm:22m' }} + EXTENSIONS_INTEGRATION_TESTS: 'true' + TUI_INTEGRATION_TESTS: 'true' + +jobs: + integration: + name: Integration Tests (Ollama) + runs-on: ubuntu-latest + timeout-minutes: 30 + permissions: + contents: read + checks: write + services: + ollama: + image: ollama/ollama:latest + ports: + - 11434:11434 + + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Setup .NET + uses: actions/setup-dotnet@v5 + with: + dotnet-version: | + 8.0.x + 10.0.x + + - name: Wait for Ollama + run: | + echo "โณ Waiting for Ollama to be ready..." + for i in $(seq 1 60); do + if curl -sf http://localhost:11434/api/version > /dev/null 2>&1; then + echo "โœ… Ollama is ready (attempt $i)" + curl -sf http://localhost:11434/api/version + exit 0 + fi + echo " Attempt $i/60 โ€” waiting..." + sleep 3 + done + echo "โŒ Ollama failed to start" + exit 1 + + - name: Pull models + run: | + echo "๐Ÿ“ฅ Pulling chat model: $OLLAMA_CHAT_MODEL" + curl -sf http://localhost:11434/api/pull \ + -d "{\"name\": \"$OLLAMA_CHAT_MODEL\"}" | \ + while IFS= read -r line; do + status=$(echo "$line" | jq -r '.status // empty' 2>/dev/null) + [ -n "$status" ] && echo " $status" + done + echo "โœ… Chat model ready" + + echo "๐Ÿ“ฅ Pulling embedding model: $OLLAMA_EMBEDDING_MODEL" + curl -sf http://localhost:11434/api/pull \ + -d "{\"name\": \"$OLLAMA_EMBEDDING_MODEL\"}" | \ + while IFS= read -r line; do + status=$(echo "$line" | jq -r '.status // empty' 2>/dev/null) + [ -n "$status" ] && echo " $status" + done + echo "โœ… Embedding model ready" + + - name: Verify models + run: | + echo "๐Ÿ” Available models:" + curl -sf http://localhost:11434/api/tags | jq -r '.models[].name' + + - name: Restore + run: dotnet restore JD.SemanticKernel.Extensions.slnx + + - name: Build + run: > + dotnet build JD.SemanticKernel.Extensions.slnx + --configuration Release + --no-restore + /p:ContinuousIntegrationBuild=true + + - name: Run integration tests + run: > + dotnet test JD.SemanticKernel.Extensions.slnx + --configuration Release + --no-build + --filter "Category=Integration" + --verbosity normal + --logger "trx;LogFileName=integration-results.trx" + -- + RunConfiguration.TestSessionTimeout=600000 + + - name: Publish test results + uses: EnricoMi/publish-unit-test-result-action@v2.23.0 + if: always() + with: + files: | + **/TestResults/**/*.trx + check_name: Integration Test Results + + - name: Summary + if: always() + run: | + echo "## ๐Ÿงช Integration Test Summary" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "| Setting | Value |" >> $GITHUB_STEP_SUMMARY + echo "|---------|-------|" >> $GITHUB_STEP_SUMMARY + echo "| Chat Model | \`$OLLAMA_CHAT_MODEL\` |" >> $GITHUB_STEP_SUMMARY + echo "| Embedding Model | \`$OLLAMA_EMBEDDING_MODEL\` |" >> $GITHUB_STEP_SUMMARY + echo "| Trigger | \`${{ github.event_name }}\` |" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index bea2ebc..414f230 100644 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -1,118 +1,118 @@ -name: PR Validation - -on: - pull_request: - branches: [main] - paths-ignore: - - '**.md' - - 'docs/**' - - '.vscode/**' - - '.editorconfig' - -env: - DOTNET_NOLOGO: true - -permissions: - contents: read - pull-requests: write - checks: write - -jobs: - validate-pr: - name: Validate PR - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup .NET - uses: actions/setup-dotnet@v5 - with: - dotnet-version: | - 8.0.x - 10.0.x - - - name: Determine version (NBGV) - id: nbgv - uses: dotnet/nbgv@master - with: - setAllVars: true - - - name: Restore - run: dotnet restore JD.SemanticKernel.Extensions.slnx - - - name: Build - run: > - dotnet build JD.SemanticKernel.Extensions.slnx - --configuration Release - --no-restore - /p:ContinuousIntegrationBuild=true - /p:Deterministic=true - - - name: Verify formatting - run: > - dotnet format JD.SemanticKernel.Extensions.slnx - --severity warn - --verify-no-changes - - - name: Run tests - run: > - dotnet test JD.SemanticKernel.Extensions.slnx - --configuration Release - --no-build - --verbosity normal - --logger "trx;LogFileName=test-results.trx" - - - name: Publish test results - uses: EnricoMi/publish-unit-test-result-action@v2 - if: always() - with: - files: | - **/TestResults/**/*.trx - check_name: Test Results - - - name: Dry-run NuGet packaging - run: | - echo "๐Ÿ“ฆ Performing dry-run of NuGet packaging..." - mkdir -p ./dry-run-packages - dotnet pack JD.SemanticKernel.Extensions.slnx \ - --configuration Release \ - --no-build \ - --output ./dry-run-packages \ - /p:ContinuousIntegrationBuild=true || true - PACKAGE_COUNT=$(ls -1 ./dry-run-packages/*.nupkg 2>/dev/null | wc -l) - if [ "$PACKAGE_COUNT" -eq 0 ]; then - echo "โŒ No packages were created" - exit 1 - fi - echo "๐Ÿ“ฆ Packaged files:" - ls -lh ./dry-run-packages/ - - - name: Upload dry-run packages - uses: actions/upload-artifact@v7 - with: - name: dry-run-packages - path: ./dry-run-packages/*.nupkg - retention-days: 7 - - - name: PR Summary - if: always() - run: | - echo "## ๐ŸŽฏ PR Validation Summary" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "โœ… **Version**: $NBGV_NuGetPackageVersion" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "### ๐Ÿ“ฆ Packages" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - if ls ./dry-run-packages/*.nupkg 1> /dev/null 2>&1; then - echo "The following packages will be created on merge:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - ls -1 ./dry-run-packages/*.nupkg | xargs -n1 basename >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - else - echo "โš ๏ธ No packages were created during the dry-run." >> $GITHUB_STEP_SUMMARY - fi +name: PR Validation + +on: + pull_request: + branches: [main] + paths-ignore: + - '**.md' + - 'docs/**' + - '.vscode/**' + - '.editorconfig' + +env: + DOTNET_NOLOGO: true + +permissions: + contents: read + pull-requests: write + checks: write + +jobs: + validate-pr: + name: Validate PR + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Setup .NET + uses: actions/setup-dotnet@v5 + with: + dotnet-version: | + 8.0.x + 10.0.x + + - name: Determine version (NBGV) + id: nbgv + uses: dotnet/nbgv@master + with: + setAllVars: true + + - name: Restore + run: dotnet restore JD.SemanticKernel.Extensions.slnx + + - name: Build + run: > + dotnet build JD.SemanticKernel.Extensions.slnx + --configuration Release + --no-restore + /p:ContinuousIntegrationBuild=true + /p:Deterministic=true + + - name: Verify formatting + run: > + dotnet format JD.SemanticKernel.Extensions.slnx + --severity warn + --verify-no-changes + + - name: Run tests + run: > + dotnet test JD.SemanticKernel.Extensions.slnx + --configuration Release + --no-build + --verbosity normal + --logger "trx;LogFileName=test-results.trx" + + - name: Publish test results + uses: EnricoMi/publish-unit-test-result-action@v2.23.0 + if: always() + with: + files: | + **/TestResults/**/*.trx + check_name: Test Results + + - name: Dry-run NuGet packaging + run: | + echo "๐Ÿ“ฆ Performing dry-run of NuGet packaging..." + mkdir -p ./dry-run-packages + dotnet pack JD.SemanticKernel.Extensions.slnx \ + --configuration Release \ + --no-build \ + --output ./dry-run-packages \ + /p:ContinuousIntegrationBuild=true || true + PACKAGE_COUNT=$(ls -1 ./dry-run-packages/*.nupkg 2>/dev/null | wc -l) + if [ "$PACKAGE_COUNT" -eq 0 ]; then + echo "โŒ No packages were created" + exit 1 + fi + echo "๐Ÿ“ฆ Packaged files:" + ls -lh ./dry-run-packages/ + + - name: Upload dry-run packages + uses: actions/upload-artifact@v7 + with: + name: dry-run-packages + path: ./dry-run-packages/*.nupkg + retention-days: 7 + + - name: PR Summary + if: always() + run: | + echo "## ๐ŸŽฏ PR Validation Summary" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "โœ… **Version**: $NBGV_NuGetPackageVersion" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### ๐Ÿ“ฆ Packages" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + if ls ./dry-run-packages/*.nupkg 1> /dev/null 2>&1; then + echo "The following packages will be created on merge:" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY + ls -1 ./dry-run-packages/*.nupkg | xargs -n1 basename >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY + else + echo "โš ๏ธ No packages were created during the dry-run." >> $GITHUB_STEP_SUMMARY + fi