Skip to content

Conversation

ruokun-niu
Copy link
Contributor

This pull request introduces a new end-to-end (E2E) testing workflow for the "Building Comfort" scenario, adds supporting Azure infrastructure automation, and refines the release workflow for better flexibility and automation. It also updates test result collection scripts to align with current naming conventions.

CI/CD and Testing Automation

  • Adds a new GitHub Actions workflow (.github/workflows/building-comfort.yml) to automate E2E testing for the "Building Comfort" scenario, including provisioning AKS clusters, running tests, exporting results, and uploading them to Azure Storage.
  • Introduces a new Bicep template (infra/aks/aks-cluster.bicep) to automate AKS cluster creation with configurable parameters for use in CI pipelines.

Release Workflow Enhancements

  • Updates the release workflow (.github/workflows/draft-release.yml) to support triggering via repository_dispatch events, allowing external automation to initiate releases.
  • Refactors environment variable handling so that Docker tag and image prefix can be set via repository dispatch payloads, increasing flexibility for automated releases.
  • Updates Docker build and manifest creation steps to use the new environment variables instead of hardcoded values, supporting multi-platform images and custom registries. [1] [2]

Test Result Collection

  • Updates the test result collection script (e2e-test-framework/examples/building_comfort/drasi/get_test_run_results.sh) to use the correct github_dev_repo path instead of the deprecated az_dev_repo, ensuring compatibility with the current test run naming conventions.

Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
Signed-off-by: ruokun-niu <[email protected]>
@ruokun-niu ruokun-niu requested review from agentofreality and Copilot and removed request for Copilot September 2, 2025 23:10
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request introduces comprehensive end-to-end (E2E) testing automation for the "Building Comfort" scenario by adding new GitHub Actions workflows, Azure infrastructure templates, and updating existing release workflows to support external automation triggers.

  • Adds a complete E2E testing workflow that provisions AKS clusters, runs tests, and uploads results to Azure Storage
  • Introduces Azure Bicep template for automated AKS cluster provisioning with configurable parameters
  • Enhances the release workflow to support repository dispatch events for external automation triggers

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
.github/workflows/building-comfort.yml New E2E test workflow for building comfort scenario with AKS provisioning and test execution
infra/aks/aks-cluster.bicep New Bicep template for automated AKS cluster creation with parameterized configuration
.github/workflows/draft-release.yml Enhanced release workflow with repository dispatch support and dynamic environment variables
e2e-test-framework/examples/building_comfort/drasi/get_test_run_results.sh Updated test result collection script to use correct path naming convention

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines 153 to 177


# cleanup:
# runs-on: ubuntu-latest
# needs: deploy-tests
# if: always()
# strategy:
# matrix:
# cluster_type: [redis, rocks, memory]

# steps:
# - name: Azure Login
# uses: azure/login@v2
# with:
# client-id: ${{ secrets.AZURE_CLIENT_ID }}
# tenant-id: ${{ secrets.AZURE_TENANT_ID }}
# subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

# - name: Delete AKS cluster
# run: |
# az aks delete \
# --resource-group ${{ env.RESOURCE_GROUP_NAME }} \
# --name "building-comfort-aks-${{ github.run_number }}-${{ matrix.cluster_type }}" \
# --yes --no-wait

No newline at end of file
Copy link

Copilot AI Sep 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The commented cleanup job should either be removed or uncommented with proper documentation explaining why it's disabled. Leaving commented code in production workflows reduces maintainability and creates confusion about intended behavior.

Suggested change
# cleanup:
# runs-on: ubuntu-latest
# needs: deploy-tests
# if: always()
# strategy:
# matrix:
# cluster_type: [redis, rocks, memory]
# steps:
# - name: Azure Login
# uses: azure/login@v2
# with:
# client-id: ${{ secrets.AZURE_CLIENT_ID }}
# tenant-id: ${{ secrets.AZURE_TENANT_ID }}
# subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# - name: Delete AKS cluster
# run: |
# az aks delete \
# --resource-group ${{ env.RESOURCE_GROUP_NAME }} \
# --name "building-comfort-aks-${{ github.run_number }}-${{ matrix.cluster_type }}" \
# --yes --no-wait

Copilot uses AI. Check for mistakes.

Comment on lines 18 to 20
push:
branches:
- e2e-framework-automation
Copy link

Copilot AI Sep 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow is configured to trigger on pushes to a feature branch 'e2e-framework-automation'. This should be updated to trigger on appropriate branches like 'main' or 'develop' for production use, or removed if this was only for development testing.

Suggested change
push:
branches:
- e2e-framework-automation
- main
- develop

Copilot uses AI. Check for mistakes.

Comment on lines 153 to 154


Copy link

Copilot AI Sep 2, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Empty lines with trailing whitespace should be removed to maintain clean code formatting.

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant