@@ -7,16 +7,8 @@ permissions:
77on :
88 pull_request :
99 branches : [ master ]
10- paths-ignore :
11- - ' README.md'
12- - ' CHANGELOG.md'
13- - ' website/**'
1410 push :
1511 branches : [ master ]
16- paths-ignore :
17- - ' README.md'
18- - ' CHANGELOG.md'
19- - ' website/**'
2012 # For systems with an upstream API that could drift unexpectedly (like most SaaS systems, etc.),
2113 # we recommend testing at a regular interval not necessarily tied to code changes. This will
2214 # ensure you are alerted to something breaking due to an API change, even if the code did not
@@ -36,17 +28,21 @@ jobs:
3628 outputs :
3729 run_tests : ${{ steps.filter.outputs.run_tests }}
3830 steps :
39- - uses : dorny/paths-filter@v2
31+ 32+ with :
33+ fetch-depth : 0 # so we can diff against base
34+ - uses : dorny/paths-filter@v3
4035 id : filter
4136 with :
37+ predicate-quantifier : ' every'
4238 filters : |
4339 run_tests:
44- - '!CHANGELOG.md '
40+ - '** '
4541 - '!README.md'
42+ - '!CHANGELOG.md'
4643 - '!website/**'
4744 # ensure the code builds...
4845 build :
49- if : needs.should_test.outputs.run_tests == 'true'
5046 needs : should_test
5147 name : Build
5248 runs-on : ubuntu-latest
7066 go build -v .
7167 # run acceptance tests in a matrix with Terraform core versions
7268 test :
73- if : needs.should_test.outputs.run_tests == 'true'
74- needs : build
7569 name : Matrix Test
7670 runs-on : ubuntu-latest
71+ needs : [ should_test, build ]
7772 timeout-minutes : 90
7873 strategy :
7974 fail-fast : false
@@ -82,56 +77,52 @@ jobs:
8277 terraform :
8378 - ' 1.0.3'
8479 steps :
80+ - name : Set up Go
81+ 82+ with :
83+ go-version : ' 1.22'
84+ id : go
8585
86- - name : Set up Go
87- 88- with :
89- go-version : ' 1.22'
90- id : go
91-
92- - name : Check out code into the Go module directory
93- 94-
95- - name : Get dependencies
96- run : |
97- go mod download
86+ - name : Check out code into the Go module directory
87+ 9888
99- - name : TF acceptance tests
100- timeout-minutes : 90
101- env :
102- TF_ACC : " 1"
103- TF_ACC_TERRAFORM_VERSION : ${{ matrix.terraform }}
89+ - name : Get dependencies
90+ run : |
91+ go mod download
10492
105- # Set whatever additional acceptance test env vars here. You can
106- # optionally use data from your repository secrets using the
107- # following syntax:
108- # SOME_VAR: ${{ secrets.SOME_VAR }}
109- SUMOLOGIC_ACCESSID : ${{ secrets.SUMOLOGIC_ACCESSID }}
110- SUMOLOGIC_ACCESSKEY : ${{ secrets.SUMOLOGIC_ACCESSKEY }}
111- SUMOLOGIC_ENVIRONMENT : ${{ secrets.SUMOLOGIC_ENVIRONMENT }}
112- SUMOLOGIC_TEST_BUCKET_NAME : ${{ secrets.SUMOLOGIC_TEST_BUCKET_NAME }}
113- SUMOLOGIC_TEST_CONSUMER_GROUP : ${{ secrets.SUMOLOGIC_TEST_CONSUMER_GROUP }}
114- SUMOLOGIC_TEST_EVENT_HUB : ${{ secrets.SUMOLOGIC_TEST_EVENT_HUB }}
115- SUMOLOGIC_TEST_GOOGLE_APPLICATION_CREDENTIALS : ${{ secrets.SUMOLOGIC_TEST_GOOGLE_APPLICATION_CREDENTIALS }}
116- SUMOLOGIC_TEST_NAMESPACE : ${{ secrets.SUMOLOGIC_TEST_NAMESPACE }}
117- SUMOLOGIC_TEST_REGION : ${{ secrets.SUMOLOGIC_TEST_REGION }}
118- SUMOLOGIC_TEST_ROLE_ARN : ${{ secrets.SUMOLOGIC_TEST_ROLE_ARN }}
119- SUMOLOGIC_TEST_SAS_KEY : ${{ secrets.SUMOLOGIC_TEST_SAS_KEY }}
120- SUMOLOGIC_TEST_SAS_KEY_NAME : ${{ secrets.SUMOLOGIC_TEST_SAS_KEY_NAME }}
121- SUMOLOGIC_DATA_FORWARDING_BUCKET : ${{ secrets.SUMOLOGIC_DATA_FORWARDING_BUCKET }}
122- SUMOLOGIC_DATA_FORWARDING_ROLE_ARN : ${{ secrets.SUMOLOGIC_DATA_FORWARDING_ROLE_ARN }}
123- SUMOLOGIC_DATA_FORWARDING_AWS_REGION : ${{ secrets.SUMOLOGIC_DATA_FORWARDING_AWS_REGION }}
124- SUMOLOGIC_TEST_AZURE_TENANT_ID : ${{ secrets.SUMOLOGIC_TEST_AZURE_TENANT_ID }}
125- SUMOLOGIC_TEST_AZURE_CLIENT_ID : ${{ secrets.SUMOLOGIC_TEST_AZURE_CLIENT_ID }}
126- SUMOLOGIC_TEST_AZURE_CLIENT_SECRET : ${{ secrets.SUMOLOGIC_TEST_AZURE_CLIENT_SECRET }}
93+ - name : TF acceptance tests
94+ timeout-minutes : 90
95+ run : |
96+ if [ "${{ needs.should_test.outputs.run_tests }}" = "false" ]; then
97+ echo "Skipping tests for Terraform ${{ matrix.terraform }} — docs or workflows changes only."
98+ exit 0
99+ fi
100+
101+ echo "Running tests for Terraform ${{ matrix.terraform }}"
102+ go test -timeout 0 -v -cover ./sumologic/
103+ env :
104+ TF_ACC : " 1"
105+ TF_ACC_TERRAFORM_VERSION : ${{ matrix.terraform }}
127106
128- # disable go test timeout. We rely on GitHub action timeout.
129- run : |
130- go test -timeout 0 -v -cover ./sumologic/
131- # skip acceptance tests
132- skip :
133- if : needs.should_test.outputs.run_tests != 'true'
134- needs : should_test
135- runs-on : ubuntu-latest
136- steps :
137- - run : echo "Skipping tests because only docs or website files changed."
107+ # Set whatever additional acceptance test env vars here. You can
108+ # optionally use data from your repository secrets using the
109+ # following syntax:
110+ # SOME_VAR: ${{ secrets.SOME_VAR }}
111+ SUMOLOGIC_ACCESSID : ${{ secrets.SUMOLOGIC_ACCESSID }}
112+ SUMOLOGIC_ACCESSKEY : ${{ secrets.SUMOLOGIC_ACCESSKEY }}
113+ SUMOLOGIC_ENVIRONMENT : ${{ secrets.SUMOLOGIC_ENVIRONMENT }}
114+ SUMOLOGIC_TEST_BUCKET_NAME : ${{ secrets.SUMOLOGIC_TEST_BUCKET_NAME }}
115+ SUMOLOGIC_TEST_CONSUMER_GROUP : ${{ secrets.SUMOLOGIC_TEST_CONSUMER_GROUP }}
116+ SUMOLOGIC_TEST_EVENT_HUB : ${{ secrets.SUMOLOGIC_TEST_EVENT_HUB }}
117+ SUMOLOGIC_TEST_GOOGLE_APPLICATION_CREDENTIALS : ${{ secrets.SUMOLOGIC_TEST_GOOGLE_APPLICATION_CREDENTIALS }}
118+ SUMOLOGIC_TEST_NAMESPACE : ${{ secrets.SUMOLOGIC_TEST_NAMESPACE }}
119+ SUMOLOGIC_TEST_REGION : ${{ secrets.SUMOLOGIC_TEST_REGION }}
120+ SUMOLOGIC_TEST_ROLE_ARN : ${{ secrets.SUMOLOGIC_TEST_ROLE_ARN }}
121+ SUMOLOGIC_TEST_SAS_KEY : ${{ secrets.SUMOLOGIC_TEST_SAS_KEY }}
122+ SUMOLOGIC_TEST_SAS_KEY_NAME : ${{ secrets.SUMOLOGIC_TEST_SAS_KEY_NAME }}
123+ SUMOLOGIC_DATA_FORWARDING_BUCKET : ${{ secrets.SUMOLOGIC_DATA_FORWARDING_BUCKET }}
124+ SUMOLOGIC_DATA_FORWARDING_ROLE_ARN : ${{ secrets.SUMOLOGIC_DATA_FORWARDING_ROLE_ARN }}
125+ SUMOLOGIC_DATA_FORWARDING_AWS_REGION : ${{ secrets.SUMOLOGIC_DATA_FORWARDING_AWS_REGION }}
126+ SUMOLOGIC_TEST_AZURE_TENANT_ID : ${{ secrets.SUMOLOGIC_TEST_AZURE_TENANT_ID }}
127+ SUMOLOGIC_TEST_AZURE_CLIENT_ID : ${{ secrets.SUMOLOGIC_TEST_AZURE_CLIENT_ID }}
128+ SUMOLOGIC_TEST_AZURE_CLIENT_SECRET : ${{ secrets.SUMOLOGIC_TEST_AZURE_CLIENT_SECRET }}
0 commit comments