@@ -73,8 +73,20 @@ install:
73
73
- " echo %PATH%"
74
74
- " python --version"
75
75
- ps : " Restart-Service docker"
76
+
76
77
# Switch to Docker Linux containers
77
- - ps : Switch-DockerLinux
78
+ - ps : |
79
+ $dockerCliPath = "$Env:ProgramFiles\Docker\Docker\DockerCli.exe"
80
+ if (Test-Path $dockerCliPath) {
81
+ & $dockerCliPath -SwitchLinuxEngine
82
+ Write-Host "Docker successfully switched to Linux container mode"
83
+ } else {
84
+ Write-Host "DockerCli.exe not found at expected location. Installing tree and exploring Docker directory structure..."
85
+ choco install tree
86
+ tree "$Env:ProgramFiles\Docker" /F /A
87
+ Write-Host "Build stopped for Docker CLI investigation."
88
+ exit 1
89
+ }
78
90
- " docker info"
79
91
- " docker version"
80
92
@@ -91,27 +103,27 @@ install:
91
103
- " git --version"
92
104
93
105
# Get testing env vars
94
- - ps : "
95
- If (Test-Path env:BY_CANARY){
96
- python -m virtualenv venv_env_vars;
97
- ./venv_env_vars/Scripts/pip install boto3;
98
- $test_env_var = ./venv_env_vars/Scripts/python tests/get_testing_resources.py;
99
- $test_env_var_json = ConvertFrom-Json $test_env_var;
100
-
101
- $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID = $env:AWS_ACCESS_KEY_ID;
102
- $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY = $env:AWS_SECRET_ACCESS_KEY;
103
- $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN = $env:AWS_SESSION_TOKEN;
104
-
105
- $env:AWS_ACCESS_KEY_ID = $test_env_var_json.accessKeyID;
106
- $env:AWS_SECRET_ACCESS_KEY = $test_env_var_json.secretAccessKey;
107
- $env:AWS_SESSION_TOKEN = $test_env_var_json.sessionToken;
108
- $env:TASK_TOKEN = $test_env_var_json.taskToken;
109
- $env:AWS_S3_TESTING = $test_env_var_json.TestBucketName;
110
- $env:AWS_ECR_TESTING = $test_env_var_json.TestECRURI;
111
- $env:AWS_KMS_KEY = $test_env_var_json.TestKMSKeyArn;
112
- $env:AWS_SIGNING_PROFILE_NAME = $test_env_var_json.TestSigningProfileName;
113
- $env:AWS_SIGNING_PROFILE_VERSION_ARN = $test_env_var_json.TestSigningProfileARN;
114
- } "
106
+ - ps : |
107
+ If (Test-Path env:BY_CANARY){
108
+ python -m virtualenv venv_env_vars;
109
+ ./venv_env_vars/Scripts/pip install boto3;
110
+ $test_env_var = ./venv_env_vars/Scripts/python tests/get_testing_resources.py;
111
+ $test_env_var_json = ConvertFrom-Json $test_env_var;
112
+
113
+ $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID = $env:AWS_ACCESS_KEY_ID;
114
+ $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY = $env:AWS_SECRET_ACCESS_KEY;
115
+ $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN = $env:AWS_SESSION_TOKEN;
116
+
117
+ $env:AWS_ACCESS_KEY_ID = $test_env_var_json.accessKeyID;
118
+ $env:AWS_SECRET_ACCESS_KEY = $test_env_var_json.secretAccessKey;
119
+ $env:AWS_SESSION_TOKEN = $test_env_var_json.sessionToken;
120
+ $env:TASK_TOKEN = $test_env_var_json.taskToken;
121
+ $env:AWS_S3_TESTING = $test_env_var_json.TestBucketName;
122
+ $env:AWS_ECR_TESTING = $test_env_var_json.TestECRURI;
123
+ $env:AWS_KMS_KEY = $test_env_var_json.TestKMSKeyArn;
124
+ $env:AWS_SIGNING_PROFILE_NAME = $test_env_var_json.TestSigningProfileName;
125
+ $env:AWS_SIGNING_PROFILE_VERSION_ARN = $test_env_var_json.TestSigningProfileARN;
126
+ }
115
127
116
128
117
129
# Create new virtual environment with chosen python version and activate it
@@ -120,19 +132,18 @@ install:
120
132
- " python --version"
121
133
122
134
# Install testing pre-reqs without installing sam-cli from source
123
- - pip install -r requirements/pre-dev.txt"
124
- - pip install -r requirements/dev.txt"
125
- - pip install -r requirements/base.txt
126
- - pytest --version
135
+ - " pip install -r requirements/pre-dev.txt"
136
+ - " pip install -r requirements/dev.txt"
137
+ - " pip install -r requirements/base.txt"
138
+ - " pytest --version"
127
139
128
140
# Install aws cli
129
141
- " pip install awscli"
130
142
131
143
# Install aws-sam-cli MSI binary
132
- - ps : "
133
- Invoke-WebRequest -Uri https://github.com/aws/aws-sam-cli/releases/download/sam-cli-nightly/AWS_SAM_CLI_64_PY3.msi -OutFile aws-sam-cli-installer.msi;
134
- Start-Process 'C:\\ Windows\\ System32\\ msiexec.exe' -ArgumentList '/i aws-sam-cli-installer.msi /qn /norestart' -wait -PassThru;
135
- "
144
+ - ps : |
145
+ Invoke-WebRequest -Uri https://github.com/aws/aws-sam-cli/releases/download/sam-cli-nightly/AWS_SAM_CLI_64_PY3.msi -OutFile aws-sam-cli-installer.msi;
146
+ Start-Process 'C:\\Windows\\System32\\msiexec.exe' -ArgumentList '/i aws-sam-cli-installer.msi /qn /norestart' -wait -PassThru;
136
147
- ' set PATH=C:\Program Files\Amazon\AWSSAMCLI_NIGHTLY\bin\;%PATH%'
137
148
- ' sam-nightly --version'
138
149
@@ -141,11 +152,10 @@ install:
141
152
142
153
# use amazon-ecr-credential-helper
143
154
- choco install amazon-ecr-credential-helper
144
- - ps : "
145
- $docker_config = Get-Content $env:HOME/.docker/config.json -raw | ConvertFrom-Json;
146
- $docker_config.credsStore = 'ecr-login';
147
- $docker_config | ConvertTo-Json | set-content $env:HOME/.docker/config.json;
148
- "
155
+ - ps : |
156
+ $docker_config = Get-Content $env:HOME/.docker/config.json -raw | ConvertFrom-Json;
157
+ $docker_config.credsStore = 'ecr-login';
158
+ $docker_config | ConvertTo-Json | set-content $env:HOME/.docker/config.json;
149
159
- ps : " get-content $env:HOME/.docker/config.json"
150
160
151
161
# claim some disk space before starting the tests
@@ -156,22 +166,22 @@ install:
156
166
on_finish :
157
167
# Upload test reports as artifacts
158
168
- ps : Get-ChildItem .\TEST_REPORT-*.json | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
159
- - ps : '
160
- If (Test-Path env:BY_CANARY){
161
- $env:AWS_ACCESS_KEY_ID = $env:TEST_REPORT_S3_BUCKET_ACCESS_KEY_ID;
162
- $env:AWS_SECRET_ACCESS_KEY = $env:TEST_REPORT_S3_BUCKET_SECRET_ACCESS_KEY;
163
- $env:AWS_SESSION_TOKEN = $env:TEST_REPORT_S3_BUCKET_SESSION_TOKEN;
164
- aws s3 cp ".\" "s3://$env:TEST_REPORT_S3_BUCKET_NAME/appveyor/$env:APPVEYOR_PROJECT_SLUG/$env:APPVEYOR_BUILD_ID/$env:APPVEYOR_JOB_ID/" --recursive --exclude "*" --include "TEST_REPORT-*.json" --region us-west-2
165
- } '
169
+ - ps : |
170
+ If (Test-Path env:BY_CANARY){
171
+ $env:AWS_ACCESS_KEY_ID = $env:TEST_REPORT_S3_BUCKET_ACCESS_KEY_ID;
172
+ $env:AWS_SECRET_ACCESS_KEY = $env:TEST_REPORT_S3_BUCKET_SECRET_ACCESS_KEY;
173
+ $env:AWS_SESSION_TOKEN = $env:TEST_REPORT_S3_BUCKET_SESSION_TOKEN;
174
+ aws s3 cp ".\" "s3://$env:TEST_REPORT_S3_BUCKET_NAME/appveyor/$env:APPVEYOR_PROJECT_SLUG/$env:APPVEYOR_BUILD_ID/$env:APPVEYOR_JOB_ID/" --recursive --exclude "*" --include "TEST_REPORT-*.json" --region us-west-2
175
+ }
166
176
167
177
# notify success
168
- - ps : "
169
- If (Test-Path env:BY_CANARY){
170
- $env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
171
- $env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
172
- $env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
173
- aws stepfunctions send-task-success --task-token \ " $env:TASK_TOKEN\ " --task-output \ " {}\ " --region us-west-2;
174
- } "
178
+ - ps : |
179
+ If (Test-Path env:BY_CANARY){
180
+ $env:AWS_ACCESS_KEY_ID = $env:CI_ACCESS_ROLE_AWS_ACCESS_KEY_ID;
181
+ $env:AWS_SECRET_ACCESS_KEY = $env:CI_ACCESS_ROLE_AWS_SECRET_ACCESS_KEY;
182
+ $env:AWS_SESSION_TOKEN = $env:CI_ACCESS_ROLE_AWS_SESSION_TOKEN;
183
+ aws stepfunctions send-task-success --task-token "$env:TASK_TOKEN" --task-output "{}" --region us-west-2;
184
+ }
175
185
176
186
177
187
for :
307
317
# Uncomment for RDP
308
318
# on_finish:
309
319
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
310
-
0 commit comments