diff --git a/.github/workflows/build_pipelinesrelease_template.yml b/.github/workflows/build_pipelinesrelease_template.yml index 652050c0e..8ad44d2f3 100644 --- a/.github/workflows/build_pipelinesrelease_template.yml +++ b/.github/workflows/build_pipelinesrelease_template.yml @@ -94,7 +94,7 @@ jobs: name: Integration Test needs: - Validate-build - uses: "./.github/workflows/porter-integration.yml" + uses: "./.github/workflows/porter-integration-release.yml" with: registry: ${{inputs.registry}} Validate-smoke_test: diff --git a/.github/workflows/integ-reuseable-workflow.yml b/.github/workflows/integ-reuseable-workflow.yml index d83d92b99..699e82e65 100644 --- a/.github/workflows/integ-reuseable-workflow.yml +++ b/.github/workflows/integ-reuseable-workflow.yml @@ -5,10 +5,11 @@ on: inputs: test_name: type: string - required: false + required: true registry: type: string - required: false + required: true + default: ghcr.io env: GOVERSION: 1.20.7 PORTER_INTEG_FILE: ${{inputs.test_name}}.go diff --git a/.github/workflows/porter-integration-pr.yml b/.github/workflows/porter-integration-pr.yml new file mode 100644 index 000000000..4dfe1972b --- /dev/null +++ b/.github/workflows/porter-integration-pr.yml @@ -0,0 +1,123 @@ +name: porter/porter-integration +on: + pull_request: + branches: + - main + paths-ignore: + - 'docs/**' + +env: + GOVERSION: 1.20.7 + +jobs: + archive_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: archive_test + build_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: build_test + cli_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: cli_test + connection_nix_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: connection_nix_test + copy_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: copy_test + dependenciesv1_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: dependenciesv1_test + dependenciesv2_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: dependenciesv2_test + driver_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: driver_test + install_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: install_test + invoke_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: invoke_test + lint_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: lint_test + migration_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: migration_test + outputs_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: outputs_test + publish_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: publish_test + pull_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: pull_test + registry_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: registry_integration_test + schema_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: schema_test + sensitive_data_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: sensitive_data_test + suppress_output_integration_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: suppress_output_test + telemetry_test: + uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main + with: + test_name: telemetry_test + # Reusable workflows only supports 20 jobs + uninstall_test_integ: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v4.1.0 + - uses: actions/setup-go@v4 + with: + go-version: "${{ env.GOVERSION }}" + cache: true + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + - name: Docker Login + uses: docker/login-action@v3.0.0 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Configure Agent + run: go run mage.go build + shell: bash + - name: Integration Test + env: + PORTER_INTEG_FILE: uninstall_test.go + run: go run mage.go -v TestIntegration + shell: bash diff --git a/.github/workflows/porter-integration.yml b/.github/workflows/porter-integration-release.yml similarity index 97% rename from .github/workflows/porter-integration.yml rename to .github/workflows/porter-integration-release.yml index 1ee2e9dbc..e6876b39c 100644 --- a/.github/workflows/porter-integration.yml +++ b/.github/workflows/porter-integration-release.yml @@ -1,11 +1,5 @@ name: porter/porter-integration on: - pull_request: - branches: - - main - paths-ignore: - - 'docs/**' - workflow_call: inputs: registry: @@ -40,7 +34,7 @@ jobs: copy_integration_test: uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main with: - test_name: copy_tests + test_name: copy_test registry: ${{inputs.registry}} dependenciesv1_integration_test: uses: getporter/porter/.github/workflows/integ-reuseable-workflow.yml@main