|
16 | 16 | - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
17 | 17 | - uses: ./.github/actions/lint-provider-tfe
|
18 | 18 |
|
19 |
| - tests: |
| 19 | + setup: |
| 20 | + name: Setup Test Environment |
| 21 | + runs-on: ubuntu-latest |
| 22 | + outputs: |
| 23 | + hostname: ${{ steps.tflocal.outputs.hostname }} |
| 24 | + token: ${{ steps.tflocal.outputs.token }} |
| 25 | + admin_configuration_token: ${{ steps.tflocal.outputs.admin_configuration_token }} |
| 26 | + admin_provision_licenses_token: ${{ steps.tflocal.outputs.admin_provision_licenses_token }} |
| 27 | + admin_security_maintenance_token: ${{ steps.tflocal.outputs.admin_security_maintenance_token }} |
| 28 | + admin_site_admin_token: ${{ steps.tflocal.outputs.admin_site_admin_token }} |
| 29 | + admin_subscription_token: ${{ steps.tflocal.outputs.admin_subscription_token }} |
| 30 | + admin_support_token: ${{ steps.tflocal.outputs.admin_support_token }} |
| 31 | + admin_version_maintenance_token: ${{ steps.tflocal.outputs.admin_version_maintenance_token }} |
| 32 | + steps: |
| 33 | + - name: Fetch Outputs |
| 34 | + id: tflocal-raw |
| 35 | + uses: hashicorp-forge/terraform-cloud-action/outputs@5583d5f554d268ac91b3c37fd0a5e9da2c78c017 # v1.1.0 |
| 36 | + with: |
| 37 | + token: "${{ secrets.TF_WORKFLOW_TFLOCAL_CLOUD_TFC_TOKEN }}" |
| 38 | + organization: hashicorp-v2 |
| 39 | + workspace: tflocal-terraform-provider-tfe |
| 40 | + |
| 41 | + - name: Parse Outputs |
| 42 | + id: tflocal |
| 43 | + run: | |
| 44 | + echo "hostname=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).ngrok_domain }}" >> $GITHUB_OUTPUT |
| 45 | + echo "token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_token }}" >> $GITHUB_OUTPUT |
| 46 | + echo "admin_configuration_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.configuration }}" >> $GITHUB_OUTPUT |
| 47 | + echo "admin_provision_licenses_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.provision-licenses }}" >> $GITHUB_OUTPUT |
| 48 | + echo "admin_security_maintenance_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.security-maintenance }}" >> $GITHUB_OUTPUT |
| 49 | + echo "admin_site_admin_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.site-admin }}" >> $GITHUB_OUTPUT |
| 50 | + echo "admin_subscription_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.subscription }}" >> $GITHUB_OUTPUT |
| 51 | + echo "admin_support_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.support }}" >> $GITHUB_OUTPUT |
| 52 | + echo "admin_version_maintenance_token=${{ fromJSON(steps.tflocal-raw.outputs.workspace-outputs-json).tfe_admin_token_by_role.version-maintenance }}" >> $GITHUB_OUTPUT |
| 53 | +
|
| 54 | + tests: |
20 | 55 | name: ${{ matrix.test_suite }}
|
21 | 56 | runs-on: ubuntu-latest
|
22 | 57 | needs: setup
|
@@ -64,21 +99,18 @@ jobs:
|
64 | 99 | with:
|
65 | 100 | matrix_index: ${{ matrix.index }}
|
66 | 101 | matrix_total: ${{ matrix.total }}
|
67 |
| - hostname: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).ngrok_domain }} |
68 |
| - token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_token }} |
| 102 | + hostname: ${{ needs.setup.outputs.hostname }} |
| 103 | + token: ${{ needs.setup.outputs.token }} |
69 | 104 | testing-github-token: ${{ secrets.TESTING_GITHUB_TOKEN }}
|
70 |
| - admin_configuration_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.configuration }} |
71 |
| - admin_provision_licenses_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.provision-licenses }} |
72 |
| - admin_security_maintenance_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.security-maintenance }} |
73 |
| - admin_site_admin_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.site-admin }} |
74 |
| - admin_subscription_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.subscription }} |
75 |
| - admin_support_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.support }} |
76 |
| - admin_version_maintenance_token: ${{ fromJSON(steps.tflocal.outputs.workspace-outputs-json).tfe_admin_token_by_role.version-maintenance }} |
77 |
| - # Run terminal cmd 'go help testflag' to learn more about -list flag |
78 |
| - # action.yml uses https://github.com/hashicorp-forge/go-test-split-action/blob/main/action.yml to split acceptance tests |
79 |
| - # which runs against all tests using the list arg |
80 |
| - # lists_tests regex is used to skip the TestAccTFESAMLSettings_omnibus test suite for CI tests only |
81 |
| - list_tests: "[^(TestAccTFESAMLSettings_omnibus)]" |
| 105 | + admin_configuration_token: ${{ needs.setup.outputs.admin_configuration_token }} |
| 106 | + admin_provision_licenses_token: ${{ needs.setup.outputs.admin_provision_licenses_token }} |
| 107 | + admin_security_maintenance_token: ${{ needs.setup.outputs.admin_security_maintenance_token }} |
| 108 | + admin_site_admin_token: ${{ needs.setup.outputs.admin_site_admin_token }} |
| 109 | + admin_subscription_token: ${{ needs.setup.outputs.admin_subscription_token }} |
| 110 | + admin_support_token: ${{ needs.setup.outputs.admin_support_token }} |
| 111 | + admin_version_maintenance_token: ${{ needs.setup.outputs.admin_version_maintenance_token }} |
| 112 | + list_tests: ${{ matrix.list_tests }} |
| 113 | + test_name: ${{ matrix.test_name }} |
82 | 114 |
|
83 | 115 | tests-combine-summaries:
|
84 | 116 | name: Combine Test Reports
|
|
96 | 128 | run: npm install -g junit-report-merger
|
97 | 129 |
|
98 | 130 | - name: Merge reports
|
99 |
| - run: jrm ./ci-summary-provider.xml "junit-test-summary-0/*.xml" "junit-test-summary-1/*.xml" "junit-test-summary-2/*.xml" "junit-test-summary-3/*.xml" "junit-test-summary-4/*.xml" |
| 131 | + run: | |
| 132 | + # Dynamically find all junit XML files and merge them |
| 133 | + jrm ./ci-summary-provider.xml junit-*-summary-*/*.xml |
100 | 134 |
|
101 | 135 | - name: Upload test artifacts
|
102 | 136 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
0 commit comments