Skip to content

Support testing with tox-uv for test speedups #2033

Support testing with tox-uv for test speedups

Support testing with tox-uv for test speedups #2033

Workflow file for this run

# Copyright 2025 Canonical Ltd.
# See LICENSE file for licensing details.
name: Workflow test
on:
pull_request:
jobs:
simple:
uses: ./.github/workflows/test.yaml
secrets: inherit
with:
working-directory: "tests/workflows/integration/test-upload-charm/"
self-hosted-runner: false
simple-uv:
uses: ./.github/workflows/test.yaml
secrets: inherit
with:
working-directory: "tests/workflows/integration/test-upload-charm/"
self-hosted-runner: false
with-uv: true
simple-self-hosted:
uses: ./.github/workflows/test.yaml
secrets: inherit
with:
working-directory: "tests/workflows/integration/test-upload-charm/"
self-hosted-runner: true
self-hosted-runner-label: "edge"
# integration:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# working-directory: "tests/workflows/integration/test-upload-charm/"
# trivy-image-config: "tests/workflows/integration/test-upload-charm/trivy.yaml"
# trivy-severity-config: "CRITICAL,HIGH"
# integration-juju3:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# identifier: test-upload
# working-directory: "tests/workflows/integration/test-upload-charm/"
# trivy-image-config: "tests/workflows/integration/test-upload-charm/trivy.yaml"
# juju-channel: 3.3/stable
# channel: 1.30-strict/stable
# provider: microk8s
# test-tox-env: "integration-juju3.1"
# integration-artifact:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# identifier: test-upload-artifact
# working-directory: "tests/workflows/integration/test-upload-charm/"
# trivy-image-config: "tests/workflows/integration/test-upload-charm/trivy.yaml"
# juju-channel: 3.3/stable
# channel: 1.30-strict/stable
# provider: microk8s
# test-tox-env: "integration-juju3.1"
# upload-image: artifact
# microk8s-addons: "dns ingress rbac storage registry"
# integration-self-hosted:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# working-directory: "tests/workflows/integration/test-upload-charm/"
# trivy-image-config: "tests/workflows/integration/test-upload-charm/trivy.yaml"
# self-hosted-runner: true
# self-hosted-runner-label: "edge"
# integration-rock:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# working-directory: "tests/workflows/integration/test-rock/"
# trivy-image-config: "tests/workflows/integration/test-rock/trivy.yaml"
# integration-rock-artifact:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# working-directory: "tests/workflows/integration/test-rock/"
# upload-image: artifact
# microk8s-addons: "dns ingress rbac storage registry"
# trivy-image-config: "tests/workflows/integration/test-rock/trivy.yaml"
# integration-craft:
# uses: ./.github/workflows/integration_test.yaml
# secrets: inherit
# with:
# working-directory: "tests/workflows/integration/test-rock/"
# trivy-image-config: "tests/workflows/integration/test-rock/trivy.yaml"
# charmcraft-repository: canonical/charmcraft
# charmcraft-ref: main
# rockcraft-repository: canonical/rockcraft
# rockcraft-ref: main
# publish:
# uses: ./.github/workflows/publish_charm.yaml
# secrets: inherit
# needs: [ integration-juju3 ]
# with:
# identifier: test-upload
# channel: latest/edge
# integration-test-workflow-file: workflow_test.yaml
# working-directory: tests/workflows/integration/test-upload-charm/
# workflow-run-id: ${{ github.run_id }}
# publish-artifact:
# uses: ./.github/workflows/publish_charm.yaml
# secrets: inherit
# needs: [ publish, integration-artifact ]
# with:
# identifier: test-upload-artifact
# channel: latest/edge
# integration-test-workflow-file: workflow_test.yaml
# working-directory: tests/workflows/integration/test-upload-charm/
# workflow-run-id: ${{ github.run_id }}
# allure-report:
# if: always() && !cancelled()
# needs:
# - integration
# - integration-juju3
# - integration-artifact
# - integration-self-hosted
# uses: ./.github/workflows/allure_report.yaml
# check:
# runs-on: ubuntu-latest
# if: always() && !cancelled()
# timeout-minutes: 5
# needs:
# - simple
# - simple-self-hosted
# - integration
# - integration-juju3
# - integration-artifact
# - integration-self-hosted
# - integration-rock
# - integration-rock-artifact
# - integration-craft
# - publish
# - publish-artifact
# - allure-report
# steps:
# - run: |
# [ '${{ needs.simple.result }}' = 'success' ] || (echo simple failed && false)
# [ '${{ needs.simple-self-hosted.result }}' = 'success' ] || (echo simple-self-hosted failed && false)
# [ '${{ needs.integration.result }}' = 'success' ] || (echo integration failed && false)
# [ '${{ needs.integration-juju3.result }}' = 'success' ] || (echo integration-juju3 failed && false)
# [ '${{ needs.integration-artifact.result }}' = 'success' ] || (echo integration-artifact failed && false)
# [ '${{ needs.integration-self-hosted.result }}' = 'success' ] || (echo integration-self-hosted failed && false)
# [ '${{ needs.integration-rock.result }}' = 'success' ] || (echo integration-rock failed && false)
# [ '${{ needs.integration-rock-artifact.result }}' = 'success' ] || (echo integration-rock-artifact failed && false)
# [ '${{ needs.integration-craft.result }}' = 'success' ] || (echo integration-craft failed && false)
# [ '${{ needs.publish.result }}' != 'failure' ] || (echo publish failed && false)
# [ '${{ needs.publish-artifact.result }}' != 'failure' ] || (echo publish failed && false)
# [ '${{ needs.allure-report.result }}' != 'failure' ] || (echo allure-report failed && false)