99 matrix :
1010 Python37 :
1111 python.version : ' 3.7'
12- PYENV_VERSION : ' 3.7.1 '
13- PYTOX_ENV : ' py37 '
12+ PYENV_VERSION : ' 3.7.2 '
13+ PYTOX_ENV : ' python3.7 '
1414 steps :
1515 - task : InstallPython@1
1616 inputs :
1717 version : ' python==$(PYENV_VERSION)'
1818 - powershell : |
1919 gci env:* | sort-object name
20+ python --version
2021 python -m pip install --upgrade pip
21- pip install --upgrade setuptools wheel
22- pip install codecov tox
23- pip list --format=columns --outdated
22+ python -m pip install --upgrade setuptools wheel
23+ python -m pip install codecov tox
24+ python -m pip list --format=columns --outdated
2425 displayName: Fetch Dependencies
2526 - powershell : |
2627 tox -e $env:PYTOX_ENV
2728 displayName: Unit Tests
2829 - powershell : |
2930 if($env:BUILD_SOURCEBRANCHNAME -eq "master")
3031 {
31- $dockerTag = " latest"
32+ echo "##vso[task.setvariable variable=DOCKER_TAG;] latest"
3233 }
3334 else
3435 {
35- $dockerTag = $env:BUILD_SOURCEBRANCHNAME
36+ echo "##vso[task.setvariable variable=DOCKER_TAG;] $env:BUILD_SOURCEBRANCHNAME"
3637 }
3738 $artifactCli = "blobxfer-" + $env:BUILD_SOURCEBRANCHNAME + "-" + $env:BUILD_BUILDID + "-win-amd64.exe"
3839 $artifactUploadPath = "builds/" + $env:BUILD_SOURCEBRANCHNAME
4344 echo "##vso[task.setvariable variable=BUILDVER_TUPLE;]$buildverTuple"
4445 echo "##vso[task.setvariable variable=ARTIFACT_CLI;]$artifactCli"
4546 echo "##vso[task.setvariable variable=ARTIFACT_UPLOAD_PATH;]$artifactUploadPath"
46- echo "##vso[task.setvariable variable=DOCKER_TAG;]$dockerTag"
4747 displayName: Pre-build Environment (Branch)
4848 condition: >
4949 and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual'),
7676 (Get-Content $fileverInfo).replace('{BUILDVER_DOTTED}', $env:BUILDVER_DOTTED) | Set-Content $fileverInfo
7777 (Get-Content $fileverInfo).replace('{BRANCH_GITSHA1}', $branchGitSha1) | Set-Content $fileverInfo
7878 (Get-Content $fileverInfo).replace('{EXE}', $env:ARTIFACT_CLI) | Set-Content $fileverInfo
79- pip install virtualenv
79+ python -m pip install virtualenv
8080 python -m virtualenv pyi
8181 displayName: Pre-build
8282 condition: and(succeeded(), ne(variables['ARTIFACT_CLI'], ''))
@@ -113,7 +113,7 @@ jobs:
113113 docker build --build-arg GIT_BRANCH=$env:BUILD_SOURCEBRANCHNAME --build-arg GIT_COMMIT=$env:BUILD_SOURCEVERSION -t $cliImage .
114114 docker push $cliImage
115115 popd
116- displayName: Docker build
116+ displayName: Docker Build
117117 condition: and(succeeded(), ne(variables['DOCKER_TAG'], ''))
118118
119119 - job : Linux
@@ -124,7 +124,7 @@ jobs:
124124 matrix :
125125 Python37 :
126126 python.version : ' 3.7'
127- PYENV_VERSION : ' 3.7.1 '
127+ PYENV_VERSION : ' 3.7.2 '
128128 PYTOX_ENV : ' py37'
129129 steps :
130130 - task : UsePythonVersion@0
@@ -167,11 +167,16 @@ jobs:
167167 - script : |
168168 set -e
169169 set -o pipefail
170+ if [ "$BUILD_SOURCEBRANCHNAME" == "master" ]; then
171+ echo "##vso[task.setvariable variable=DOCKER_TAG;]latest"
172+ else
173+ echo "##vso[task.setvariable variable=DOCKER_TAG;]${BUILD_SOURCEBRANCHNAME}"
174+ fi
170175 ARTIFACT_CLI="blobxfer-${BUILD_SOURCEBRANCHNAME}-${BUILD_BUILDID}-linux-x86_64"
171176 ARTIFACT_UPLOAD_PATH="builds/${BUILD_SOURCEBRANCHNAME}"
172177 echo "##vso[task.setvariable variable=ARTIFACT_CLI;]${ARTIFACT_CLI}"
173178 echo "##vso[task.setvariable variable=ARTIFACT_UPLOAD_PATH;]${ARTIFACT_UPLOAD_PATH}"
174- echo "ARTIFACT_CLI=$ARTIFACT_CLI ARTIFACT_UPLOAD_PATH=$ARTIFACT_UPLOAD_PATH"
179+ echo "ARTIFACT_CLI=$ARTIFACT_CLI ARTIFACT_UPLOAD_PATH=$ARTIFACT_UPLOAD_PATH DOCKER_TAG=$DOCKER_TAG "
175180 displayName: Pre-build Environment (Branch)
176181 condition: >
177182 and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual'),
@@ -185,6 +190,8 @@ jobs:
185190 echo "##vso[task.setvariable variable=GIT_TAG;]${GIT_TAG}"
186191 echo "##vso[task.setvariable variable=ARTIFACT_CLI;]${ARTIFACT_CLI}"
187192 echo "##vso[task.setvariable variable=ARTIFACT_UPLOAD_PATH;]${ARTIFACT_UPLOAD_PATH}"
193+ echo "##vso[task.setvariable variable=DOCKER_TAG;]$gitTag"
194+ echo "ARTIFACT_CLI=$ARTIFACT_CLI ARTIFACT_UPLOAD_PATH=$ARTIFACT_UPLOAD_PATH DOCKER_TAG=$DOCKER_TAG GIT_TAG=$GIT_TAG"
188195 displayName: Pre-build Environment (Tagged Release)
189196 condition: >
190197 and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI', 'Manual'),
@@ -193,7 +200,6 @@ jobs:
193200 - script : |
194201 set -e
195202 set -o pipefail
196- echo "ARTIFACT_CLI=$ARTIFACT_CLI ARTIFACT_UPLOAD_PATH=$ARTIFACT_UPLOAD_PATH GIT_TAG=$GIT_TAG"
197203 ARTIFACT_CLI_PATH="bin/${ARTIFACT_CLI}"
198204 $PIP install virtualenv
199205 $PYTHON -m virtualenv -p $PYTHON pyi
@@ -216,6 +222,19 @@ jobs:
216222 pathtoPublish : bin
217223 artifactName : Blobxfer-Linux
218224 condition : and(succeeded(), ne(variables['ARTIFACT_CLI'], ''))
225+ - script : |
226+ set -e
227+ set -o pipefail
228+ docker version
229+ docker login -u="$(docker.username)" -p="$(docker.password)"
230+ cliImage="alfpark/blobxfer:$DOCKER_TAG"
231+ echo "Building Docker image: $cliImage"
232+ pushd docker/linux
233+ docker build --build-arg GIT_BRANCH=$BUILD_SOURCEBRANCHNAME --build-arg GIT_COMMIT=$BUILD_SOURCEVERSION -t $cliImage .
234+ docker push $cliImage
235+ popd
236+ displayName: Docker Build
237+ condition: and(succeeded(), ne(variables['DOCKER_TAG'], ''))
219238 - task : PyPIPublisher@0
220239 inputs :
221240 pypiConnection : PyPI
@@ -231,7 +250,7 @@ jobs:
231250 matrix :
232251 Python37 :
233252 python.version : ' 3.7'
234- PYENV_VERSION : ' 3.7.1 '
253+ PYENV_VERSION : ' 3.7.2 '
235254 PYTOX_ENV : ' py37'
236255 steps :
237256 - task : UsePythonVersion@0
0 commit comments