Skip to content

Add integration test secret environments #1698

Add integration test secret environments

Add integration test secret environments #1698

# Copyright 2024 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-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 }}
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
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)