Skip to content

Commit 9dd3cb9

Browse files
FLAGSAPI-1046 fixed pipeline build python version error by specifying python 3.9 in run-tests yaml files
1 parent aec8bc5 commit 9dd3cb9

File tree

3 files changed

+171
-159
lines changed

3 files changed

+171
-159
lines changed

azure/templates/run-tests-int.yml

Lines changed: 61 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,67 @@
11
parameters:
2-
- name: smoke_tests
3-
type: boolean
4-
displayName: Toggle smoke tests
5-
default: false
2+
- name: smoke_tests
3+
type: boolean
4+
displayName: Toggle smoke tests
5+
default: false
66

77
steps:
8-
- task: s3-cache-action@1
9-
inputs:
10-
key: 'poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock'
11-
location: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv'
12-
debug: true
13-
alias: 'Pytest'
14-
displayName: cache pytest dependencies
8+
- task: UsePythonVersion@0
9+
inputs:
10+
versionSpec: "3.9"
11+
12+
- task: s3-cache-action@1
13+
inputs:
14+
key: "poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock"
15+
location: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv"
16+
debug: true
17+
alias: "Pytest"
18+
displayName: cache pytest dependencies
1519

16-
- bash: |
17-
make install-python
18-
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
19-
condition: ne(variables['CacheRestored-Pytest'], 'true')
20-
displayName: Setup pytests
21-
# Smoketests
22-
- ${{ if parameters.smoke_tests }}:
23-
- template: "azure/components/aws-assume-role.yml@common"
24-
parameters:
25-
role: "auto-ops"
26-
profile: "apm_ptl"
27-
- template: "azure/components/get-aws-secrets-and-ssm-params.yml@common"
28-
parameters:
29-
secret_file_ids:
30-
- ptl/app-credentials/jwt_testing/non-prod/JWT_TESTING_PRIVATE_KEY
31-
- ptl/app-credentials/jwt_testing/non-prod/ID_TOKEN_NHS_LOGIN_PRIVATE_KEY
32-
config_ids:
33-
- /ptl/azure-devops/summary-care-record/int/CLIENT_ID_INT
34-
secret_ids:
35-
- ptl/azure-devops/summary-care-record/int/CLIENT_SECRET_INT
3620
- bash: |
37-
wait
38-
sleep 350
39-
export RELEASE_RELEASEID=$(Build.BuildId)
40-
export SOURCE_COMMIT_ID=$(Build.SourceVersion)
41-
export APIGEE_ENVIRONMENT="$(ENVIRONMENT)"
42-
export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)"
43-
export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)"
44-
export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)"
45-
export OAUTH_PROXY="oauth2"
46-
export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk"
47-
export APIGEE_API_TOKEN="$(secret.AccessToken)"
48-
export REDIRECT_URI="https://example.org/callback"
49-
export CLIENT_ID="$(CLIENT_ID_INT)"
50-
export CLIENT_SECRET="$(CLIENT_SECRET_INT)"
51-
export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)"
52-
export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)"
53-
export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH=""
54-
export AUTHENTICATE_URL=""
55-
make prod-smoketest
21+
make install-python
5622
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
57-
displayName: Run smoketests
58-
- task: PublishTestResults@2
59-
displayName: 'Publish smoketest results'
60-
condition: always()
61-
inputs:
62-
testResultsFiles: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml'
63-
failTaskOnFailedTests: true
23+
condition: ne(variables['CacheRestored-Pytest'], 'true')
24+
displayName: Setup pytests
25+
# Smoketests
26+
- ${{ if parameters.smoke_tests }}:
27+
- template: "azure/components/aws-assume-role.yml@common"
28+
parameters:
29+
role: "auto-ops"
30+
profile: "apm_ptl"
31+
- template: "azure/components/get-aws-secrets-and-ssm-params.yml@common"
32+
parameters:
33+
secret_file_ids:
34+
- ptl/app-credentials/jwt_testing/non-prod/JWT_TESTING_PRIVATE_KEY
35+
- ptl/app-credentials/jwt_testing/non-prod/ID_TOKEN_NHS_LOGIN_PRIVATE_KEY
36+
config_ids:
37+
- /ptl/azure-devops/summary-care-record/int/CLIENT_ID_INT
38+
secret_ids:
39+
- ptl/azure-devops/summary-care-record/int/CLIENT_SECRET_INT
40+
- bash: |
41+
wait
42+
sleep 350
43+
export RELEASE_RELEASEID=$(Build.BuildId)
44+
export SOURCE_COMMIT_ID=$(Build.SourceVersion)
45+
export APIGEE_ENVIRONMENT="$(ENVIRONMENT)"
46+
export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)"
47+
export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)"
48+
export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)"
49+
export OAUTH_PROXY="oauth2"
50+
export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk"
51+
export APIGEE_API_TOKEN="$(secret.AccessToken)"
52+
export REDIRECT_URI="https://example.org/callback"
53+
export CLIENT_ID="$(CLIENT_ID_INT)"
54+
export CLIENT_SECRET="$(CLIENT_SECRET_INT)"
55+
export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)"
56+
export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)"
57+
export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH=""
58+
export AUTHENTICATE_URL=""
59+
make prod-smoketest
60+
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
61+
displayName: Run smoketests
62+
- task: PublishTestResults@2
63+
displayName: "Publish smoketest results"
64+
condition: always()
65+
inputs:
66+
testResultsFiles: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml"
67+
failTaskOnFailedTests: true

azure/templates/run-tests-prod.yml

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,52 @@
11
steps:
2-
- task: s3-cache-action@1
3-
inputs:
4-
key: 'poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock'
5-
location: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv'
6-
debug: true
7-
alias: 'Pytest'
8-
displayName: cache pytest dependencies
2+
- task: UsePythonVersion@0
3+
inputs:
4+
versionSpec: "3.9"
95

10-
- bash: |
11-
make install-python
12-
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
13-
condition: ne(variables['CacheRestored-Pytest'], 'true')
14-
displayName: Setup pytests
15-
# Smoketests
16-
- template: "azure/components/aws-assume-role.yml@common"
17-
parameters:
18-
role: "auto-ops"
19-
profile: "apm_ptl"
20-
- bash: |
21-
wait
22-
sleep 350
23-
export RELEASE_RELEASEID=$(Build.BuildId)
24-
export SOURCE_COMMIT_ID=$(Build.SourceVersion)
25-
export APIGEE_ENVIRONMENT="$(ENVIRONMENT)"
26-
export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)"
27-
export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)"
28-
export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)"
29-
export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH=""
30-
export AUTHENTICATE_URL=""
31-
export OAUTH_PROXY="oauth2"
32-
export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk"
33-
export APIGEE_API_TOKEN="$(secret.AccessToken)"
34-
export REDIRECT_URI="https://example.org/callback"
35-
export CLIENT_ID="$(CLIENT_ID_INT)"
36-
export CLIENT_SECRET="$(CLIENT_SECRET_INT)"
37-
export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)"
38-
export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)"
6+
- task: s3-cache-action@1
7+
inputs:
8+
key: "poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock"
9+
location: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv"
10+
debug: true
11+
alias: "Pytest"
12+
displayName: cache pytest dependencies
3913

40-
make prod-smoketest
41-
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
42-
displayName: Run smoketests
43-
- task: PublishTestResults@2
44-
displayName: 'Publish smoketest results'
45-
condition: always()
46-
inputs:
47-
testResultsFiles: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml'
48-
failTaskOnFailedTests: true
14+
- bash: |
15+
make install-python
16+
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
17+
condition: ne(variables['CacheRestored-Pytest'], 'true')
18+
displayName: Setup pytests
19+
# Smoketests
20+
- template: "azure/components/aws-assume-role.yml@common"
21+
parameters:
22+
role: "auto-ops"
23+
profile: "apm_ptl"
24+
- bash: |
25+
wait
26+
sleep 350
27+
export RELEASE_RELEASEID=$(Build.BuildId)
28+
export SOURCE_COMMIT_ID=$(Build.SourceVersion)
29+
export APIGEE_ENVIRONMENT="$(ENVIRONMENT)"
30+
export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)"
31+
export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)"
32+
export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)"
33+
export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH=""
34+
export AUTHENTICATE_URL=""
35+
export OAUTH_PROXY="oauth2"
36+
export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk"
37+
export APIGEE_API_TOKEN="$(secret.AccessToken)"
38+
export REDIRECT_URI="https://example.org/callback"
39+
export CLIENT_ID="$(CLIENT_ID_INT)"
40+
export CLIENT_SECRET="$(CLIENT_SECRET_INT)"
41+
export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)"
42+
export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)"
43+
44+
make prod-smoketest
45+
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
46+
displayName: Run smoketests
47+
- task: PublishTestResults@2
48+
displayName: "Publish smoketest results"
49+
condition: always()
50+
inputs:
51+
testResultsFiles: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml"
52+
failTaskOnFailedTests: true

azure/templates/run-tests.yml

Lines changed: 61 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,67 @@
11
parameters:
2-
- name: smoke_tests
3-
type: boolean
4-
displayName: Toggle smoke tests
5-
default: false
2+
- name: smoke_tests
3+
type: boolean
4+
displayName: Toggle smoke tests
5+
default: false
66

77
steps:
8-
- task: s3-cache-action@1
9-
inputs:
10-
key: 'poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock'
11-
location: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv'
12-
debug: true
13-
alias: 'Pytest'
14-
displayName: cache pytest dependencies
8+
- task: UsePythonVersion@0
9+
inputs:
10+
versionSpec: "3.9"
11+
12+
- task: s3-cache-action@1
13+
inputs:
14+
key: "poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock"
15+
location: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv"
16+
debug: true
17+
alias: "Pytest"
18+
displayName: cache pytest dependencies
1519

16-
- bash: |
17-
make install-python
18-
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
19-
condition: ne(variables['CacheRestored-Pytest'], 'true')
20-
displayName: Setup pytests
21-
# Smoketests.
22-
- ${{ if parameters.smoke_tests }}:
23-
- template: "azure/components/aws-assume-role.yml@common"
24-
parameters:
25-
role: "auto-ops"
26-
profile: "apm_ptl"
27-
- template: "azure/components/get-aws-secrets-and-ssm-params.yml@common"
28-
parameters:
29-
secret_file_ids:
30-
- ptl/app-credentials/jwt_testing/non-prod/JWT_TESTING_PRIVATE_KEY
31-
- ptl/app-credentials/jwt_testing/non-prod/ID_TOKEN_NHS_LOGIN_PRIVATE_KEY
32-
- ptl/azure-devops/summary-care-record/JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY
33-
config_ids:
34-
- /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_ID
35-
- /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_SECRET
3620
- bash: |
37-
wait
38-
sleep 350
39-
export RELEASE_RELEASEID=$(Build.BuildId)
40-
export SOURCE_COMMIT_ID=$(Build.SourceVersion)
41-
export APIGEE_ENVIRONMENT="$(ENVIRONMENT)"
42-
export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)"
43-
export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)"
44-
export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)"
45-
export OAUTH_PROXY="oauth2-mock"
46-
export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk"
47-
export APIGEE_API_TOKEN="$(secret.AccessToken)"
48-
export REDIRECT_URI="https://example.org/callback"
49-
export CLIENT_ID="$(CLIENT_ID)"
50-
export CLIENT_SECRET="$(CLIENT_SECRET)"
51-
export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)"
52-
export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY)"
53-
export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)"
54-
export AUTHENTICATE_URL="https://nhsd-apim-testing-internal-dev.herokuapp.com/"
55-
make smoketest
21+
make install-python
5622
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
57-
displayName: Run smoketests
58-
- task: PublishTestResults@2
59-
displayName: 'Publish smoketest results'
60-
condition: always()
61-
inputs:
62-
testResultsFiles: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml'
63-
failTaskOnFailedTests: true
23+
condition: ne(variables['CacheRestored-Pytest'], 'true')
24+
displayName: Setup pytests
25+
# Smoketests.
26+
- ${{ if parameters.smoke_tests }}:
27+
- template: "azure/components/aws-assume-role.yml@common"
28+
parameters:
29+
role: "auto-ops"
30+
profile: "apm_ptl"
31+
- template: "azure/components/get-aws-secrets-and-ssm-params.yml@common"
32+
parameters:
33+
secret_file_ids:
34+
- ptl/app-credentials/jwt_testing/non-prod/JWT_TESTING_PRIVATE_KEY
35+
- ptl/app-credentials/jwt_testing/non-prod/ID_TOKEN_NHS_LOGIN_PRIVATE_KEY
36+
- ptl/azure-devops/summary-care-record/JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY
37+
config_ids:
38+
- /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_ID
39+
- /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_SECRET
40+
- bash: |
41+
wait
42+
sleep 350
43+
export RELEASE_RELEASEID=$(Build.BuildId)
44+
export SOURCE_COMMIT_ID=$(Build.SourceVersion)
45+
export APIGEE_ENVIRONMENT="$(ENVIRONMENT)"
46+
export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)"
47+
export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)"
48+
export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)"
49+
export OAUTH_PROXY="oauth2-mock"
50+
export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk"
51+
export APIGEE_API_TOKEN="$(secret.AccessToken)"
52+
export REDIRECT_URI="https://example.org/callback"
53+
export CLIENT_ID="$(CLIENT_ID)"
54+
export CLIENT_SECRET="$(CLIENT_SECRET)"
55+
export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)"
56+
export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY)"
57+
export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)"
58+
export AUTHENTICATE_URL="https://nhsd-apim-testing-internal-dev.herokuapp.com/"
59+
make smoketest
60+
workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)
61+
displayName: Run smoketests
62+
- task: PublishTestResults@2
63+
displayName: "Publish smoketest results"
64+
condition: always()
65+
inputs:
66+
testResultsFiles: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml"
67+
failTaskOnFailedTests: true

0 commit comments

Comments
 (0)