Skip to content

Commit 158b68f

Browse files
committed
WIP
1 parent 615c7c6 commit 158b68f

File tree

1 file changed

+50
-16
lines changed

1 file changed

+50
-16
lines changed

.github/workflows/ci.yml

Lines changed: 50 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,42 @@ jobs:
1616
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1717
- uses: ./.github/actions/lint-provider-tfe
1818

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:
2055
name: ${{ matrix.test_suite }}
2156
runs-on: ubuntu-latest
2257
needs: setup
@@ -64,21 +99,18 @@ jobs:
6499
with:
65100
matrix_index: ${{ matrix.index }}
66101
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 }}
69104
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 }}
82114

83115
tests-combine-summaries:
84116
name: Combine Test Reports
@@ -96,7 +128,9 @@ jobs:
96128
run: npm install -g junit-report-merger
97129

98130
- 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
100134
101135
- name: Upload test artifacts
102136
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2

0 commit comments

Comments
 (0)