|
18 | 18 | backup-compliance-policy: ${{ steps.filter.outputs.backup-compliance-policy }} |
19 | 19 | cloud-backup-restore-jobs: ${{ steps.filter.outputs.cloud-backup-restore-jobs }} |
20 | 20 | cluster-outage-simulation: ${{ steps.filter.outputs.cluster-outage-simulation }} |
| 21 | + database-user: ${{ steps.filter.outputs.database-user }} |
21 | 22 | encryption-at-rest: ${{ steps.filter.outputs.encryption-at-rest }} |
22 | 23 | federated-database-instance: ${{ steps.filter.outputs.federated-database-instance }} |
23 | 24 | federated-query-limit: ${{ steps.filter.outputs.federated-query-limit }} |
|
36 | 37 | stream-instance: ${{ steps.filter.outputs.stream-instance }} |
37 | 38 | stream-processor: ${{ steps.filter.outputs.stream-processor }} |
38 | 39 | stream-workspace: ${{ steps.filter.outputs.stream-workspace }} |
| 40 | + third-party-integration: ${{ steps.filter.outputs.third-party-integration }} |
39 | 41 | steps: |
40 | 42 | - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd |
41 | 43 | if: ${{ github.event_name == 'push' }} |
|
57 | 59 | - 'cfn-resources/cloud-backup-restore-jobs/**' |
58 | 60 | cluster-outage-simulation: |
59 | 61 | - 'cfn-resources/cluster-outage-simulation/**' |
| 62 | + database-user: |
| 63 | + - 'cfn-resources/database-user/**' |
60 | 64 | encryption-at-rest: |
61 | 65 | - 'cfn-resources/encryption-at-rest/**' |
62 | 66 | federated-database-instance: |
|
93 | 97 | - 'cfn-resources/stream-processor/**' |
94 | 98 | stream-workspace: |
95 | 99 | - 'cfn-resources/stream-workspace/**' |
| 100 | + third-party-integration: |
| 101 | + - 'cfn-resources/third-party-integration/**' |
96 | 102 | access-list-api-key: |
97 | 103 | needs: change-detection |
98 | 104 | if: ${{ needs.change-detection.outputs.access-list-api-key == 'true' }} |
@@ -376,6 +382,46 @@ jobs: |
376 | 382 | |
377 | 383 | cat inputs/inputs_1_create.json |
378 | 384 | |
| 385 | + make run-contract-testing |
| 386 | + make delete-test-resources |
| 387 | + database-user: |
| 388 | + needs: change-detection |
| 389 | + if: ${{ needs.change-detection.outputs.database-user == 'true' }} |
| 390 | + runs-on: ubuntu-latest |
| 391 | + steps: |
| 392 | + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 |
| 393 | + - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 |
| 394 | + with: |
| 395 | + go-version-file: 'cfn-resources/go.mod' |
| 396 | + - name: setup Atlas CLI |
| 397 | + uses: mongodb/atlas-github-action@e3c9e0204659bafbb3b65e1eb1ee745cca0e9f3b |
| 398 | + - uses: aws-actions/setup-sam@c2a20b1822cc4a6bc594ff7f1dbb658758e383c3 |
| 399 | + with: |
| 400 | + use-installer: true |
| 401 | + - uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 |
| 402 | + with: |
| 403 | + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_TEST_ENV }} |
| 404 | + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_TEST_ENV }} |
| 405 | + aws-region: eu-west-1 |
| 406 | + - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 |
| 407 | + with: |
| 408 | + python-version: '3.9' |
| 409 | + cache: 'pip' # caching pip dependencies |
| 410 | + - run: pip install cloudformation-cli cloudformation-cli-go-plugin |
| 411 | + - name: Run the Contract test |
| 412 | + shell: bash |
| 413 | + env: |
| 414 | + MONGODB_ATLAS_PUBLIC_API_KEY: ${{ secrets.CLOUD_DEV_PUBLIC_KEY }} |
| 415 | + MONGODB_ATLAS_PRIVATE_API_KEY: ${{ secrets.CLOUD_DEV_PRIVATE_KEY }} |
| 416 | + MONGODB_ATLAS_ORG_ID: ${{ secrets.CLOUD_DEV_ORG_ID }} |
| 417 | + MONGODB_ATLAS_OPS_MANAGER_URL: ${{ vars.MONGODB_ATLAS_BASE_URL }} |
| 418 | + MONGODB_ATLAS_PROFILE: cfn-cloud-dev-github-action |
| 419 | + run: | |
| 420 | + pushd cfn-resources/database-user |
| 421 | + make create-test-resources |
| 422 | + |
| 423 | + cat inputs/* |
| 424 | + |
379 | 425 | make run-contract-testing |
380 | 426 | make delete-test-resources |
381 | 427 | encryption-at-rest: |
@@ -1117,5 +1163,57 @@ jobs: |
1117 | 1163 | cat inputs/inputs_1_create.json |
1118 | 1164 | cat inputs/inputs_1_update.json |
1119 | 1165 |
|
| 1166 | + make run-contract-testing |
| 1167 | + make delete-test-resources |
| 1168 | + third-party-integration: |
| 1169 | + needs: change-detection |
| 1170 | + if: ${{ needs.change-detection.outputs.third-party-integration == 'true' }} |
| 1171 | + runs-on: ubuntu-latest |
| 1172 | + steps: |
| 1173 | + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 |
| 1174 | + - uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 |
| 1175 | + with: |
| 1176 | + go-version-file: 'cfn-resources/go.mod' |
| 1177 | + - name: setup Atlas CLI |
| 1178 | + uses: mongodb/atlas-github-action@e3c9e0204659bafbb3b65e1eb1ee745cca0e9f3b |
| 1179 | + - uses: aws-actions/setup-sam@c2a20b1822cc4a6bc594ff7f1dbb658758e383c3 |
| 1180 | + with: |
| 1181 | + use-installer: true |
| 1182 | + - uses: aws-actions/configure-aws-credentials@61815dcd50bd041e203e49132bacad1fd04d2708 |
| 1183 | + with: |
| 1184 | + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_TEST_ENV }} |
| 1185 | + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_TEST_ENV }} |
| 1186 | + aws-region: eu-west-1 |
| 1187 | + - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 |
| 1188 | + with: |
| 1189 | + python-version: '3.9' |
| 1190 | + cache: 'pip' # caching pip dependencies |
| 1191 | + - run: pip install cloudformation-cli cloudformation-cli-go-plugin |
| 1192 | + - name: Run the Contract test |
| 1193 | + shell: bash |
| 1194 | + env: |
| 1195 | + MONGODB_ATLAS_PUBLIC_API_KEY: ${{ secrets.CLOUD_DEV_PUBLIC_KEY }} |
| 1196 | + MONGODB_ATLAS_PRIVATE_API_KEY: ${{ secrets.CLOUD_DEV_PRIVATE_KEY }} |
| 1197 | + MONGODB_ATLAS_ORG_ID: ${{ secrets.CLOUD_DEV_ORG_ID }} |
| 1198 | + MONGODB_ATLAS_OPS_MANAGER_URL: ${{ vars.MONGODB_ATLAS_BASE_URL }} |
| 1199 | + MONGODB_ATLAS_PROFILE: cfn-cloud-dev-github-action |
| 1200 | + WEBHOOK_CREATE_URL: ${{ vars.WEBHOOK_CREATE_URL }} |
| 1201 | + WEBHOOK_UPDATE_URL: ${{ vars.WEBHOOK_UPDATE_URL }} |
| 1202 | + WEBHOOK_UPDATE_SECRET: ${{ vars.WEBHOOK_UPDATE_SECRET }} |
| 1203 | + PROMETHEUS_USER_NAME: ${{ vars.PROMETHEUS_USER_NAME }} |
| 1204 | + PROMETHEUS_PASSWORD_NAME: ${{ vars.PROMETHEUS_PASSWORD_NAME }} |
| 1205 | + PAGER_DUTY_CREATE_SERVICE_KEY: ${{ vars.PAGER_DUTY_CREATE_SERVICE_KEY }} |
| 1206 | + PAGER_DUTY_UPDATE_SERVICE_KEY: ${{ vars.PAGER_DUTY_UPDATE_SERVICE_KEY }} |
| 1207 | + DATA_DOG_CREATE_API_KEY: ${{ vars.DATA_DOG_CREATE_API_KEY }} |
| 1208 | + DATA_DOG_UPDATE_API_KEY: ${{ vars.DATA_DOG_UPDATE_API_KEY }} |
| 1209 | + OPS_GENIE_API_KEY: ${{ vars.OPS_GENIE_API_KEY }} |
| 1210 | + MICROSOFT_TEAMS_WEBHOOK_CREATE_URL: ${{ vars.MICROSOFT_TEAMS_WEBHOOK_CREATE_URL }} |
| 1211 | + MICROSOFT_TEAMS_WEBHOOK_UPDATE_URL: ${{ vars.MICROSOFT_TEAMS_WEBHOOK_UPDATE_URL }} |
| 1212 | + run: | |
| 1213 | + cd cfn-resources/third-party-integration |
| 1214 | + make create-test-resources |
| 1215 | + |
| 1216 | + cat inputs/* |
| 1217 | +
|
1120 | 1218 | make run-contract-testing |
1121 | 1219 | make delete-test-resources |
0 commit comments