зеркало из
1
0
Форкнуть 0

Move PowerShell script to scripts folder (#138)

* move script to scripts folder
* add script location change to release yaml
* add create version branch toggle
This commit is contained in:
fratster 2019-07-23 17:45:41 -07:00 коммит произвёл GitHub
Родитель 1206459730
Коммит 7fc081df28
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 112 добавлений и 56 удалений

71
scripts/build-release.ps1 Normal file
Просмотреть файл

@ -0,0 +1,71 @@
#$WhatIfPreference = $true
function Install-Dependencies {
pip install bumpversion
pip install wheel
}
function Update-Version($part) {
bumpversion.exe $part --config-file .\.bumpverion.cfg --allow-dirty .\setup.py
}
function Invoke-Python {
python setup.py sdist
python setup.py bdist_wheel
}
function Build {
Write-Output "Python version is '$(python.exe --version)'"
$sourceFiles = $env:sources # sdk repo top folder
$dist = $env:dist # release artifacts top folder
# hashset key is package folder name in repo
$packages = @{ }
$packages["azure-iot-device"] = $env:device_version_part
$packages["azure-iot-nspkg"] = $env:nspkg_version_part
# TODO add new packages to this list
New-Item $dist -Force -ItemType Directory
Install-Dependencies
foreach ($key in $packages.Keys) {
$part = $packages[$key]
if ($part -and $part -ne "") {
$packageFolder = $(Join-Path $sourceFiles $key)
Write-Output "Increment '$part' version for '$key' "
Write-Output "Package folder: $packageFolder"
Set-Location $packageFolder
Update-Version $part
Invoke-Python
$distfld = Join-Path $packageFolder "dist"
$files = Get-ChildItem $distfld
if ($files.Count -lt 1) {
throw "$key : expected to find release artifacts"
}
$packagefld = Join-Path $dist $key
New-Item $packagefld -Force -ItemType Directory
Write-Output "Copying ($($files.Count)) package files to output folder"
foreach ($file in $files) {
$target = $(Join-Path $packagefld $file.Name)
Write-Output "$($file.FullName) >> $target"
Copy-Item $file.FullName $target
}
}
else {
Write-Output "Skipping '$key'"
}
}
}

Просмотреть файл

@ -1,50 +0,0 @@
$sourceFiles = $env:sources # sdk repo top folder
$dist = $env:dist # release artifacts top folder
New-Item $dist -Force -ItemType Directory
pip install bumpversion
pip install wheel
# hashset key is package folder name in repo
$packages = @{ }
$packages["azure-iot-device"] = $env:device_version_part
$packages["azure-iot-nspkg"] = $env:nspkg_version_part
foreach ($key in $packages.Keys) {
$part = $packages[$key]
Write-Host "package '$key' version '$part'"
if ($part -ne "") {
Write-Host "version part: $part"
$packageFolder = $(Join-Path $sourceFiles $key)
Write-Host "package folder: $packageFolder"
Set-Location $packageFolder
bumpversion.exe $part --config-file .\.bumpverion.cfg --allow-dirty .\setup.py
python setup.py sdist
python setup.py bdist_wheel
$distfld = Join-Path $packageFolder "dist"
$files = Get-ChildItem $distfld
if ($files.Count -lt 1) {
throw "$key : expected to find release artifacts"
}
$packagefld = Join-Path $dist $key
New-Item $packagefld -Force -ItemType Directory
foreach ($file in $files) {
Copy-Item $file.FullName $(Join-Path $packagefld $file.Name)
}
} else {
Write-Host "no version bump for package '$key'"
}
}

Просмотреть файл

@ -17,11 +17,17 @@ steps:
clean: 'resources'
- task: UsePythonVersion@0
displayName: 'Use Python 3.x'
inputs:
versionSpec: '3.x'
addToPath: true
architecture: 'x64'
- task: PowerShell@2
inputs:
filePath: $(Build.SourcesDirectory)\vsts\build-release.ps1
targetType: 'inline'
script: |
. $(Build.SourcesDirectory)\scripts\build-release.ps1
Build
env:
dist: $(System.ArtifactsDirectory)\dist
sources: $(Build.SourcesDirectory)
@ -29,17 +35,48 @@ steps:
nspkg_version_part: $(azure-iot-nspkg-version-part)
displayName: 'build release artifacts'
- task: UsePythonVersion@0
inputs:
versionSpec: '2.7'
addToPath: true
architecture: 'x64'
- task: CmdLine@2
inputs:
script: |
IF [%VERSION%] EQU [] (
echo Skipping azure-iot-nskpg Python2 build
GOTO EOF
)
pushd %LOCATION%
pip install wheel
python --version
python.exe setup.py bdist_wheel
robocopy /V %LOCATION%\dist %DIST%\azure-iot-nspkg
popd
IF %ERRORLEVEL% == 1 exit /b 0
:EOF
env:
dist: $(System.ArtifactsDirectory)\dist
location: $(Build.SourcesDirectory)\azure-iot-nspkg
version: $(azure-iot-nspkg-version-part)
displayName: 'build nspkg for python2'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
. $(System.ArtifactsDirectory)\internal\python\azure-iot-sdk-bump-version.ps1
Publish-Branch $env:githubname $env:githubemail $env:tagname $env:sources
if($env:branch -eq "true") {
. $(System.ArtifactsDirectory)\internal\python\azure-iot-sdk-bump-version.ps1
Publish-Branch $env:githubname $env:githubemail $env:tagname $env:sources
}
env:
sources: $(Build.SourcesDirectory)
githubemail: aziotclb@microsoft.com
githubname: 'Azure IoT Client Build'
tagname: $(tagname)
branch: $(branch)
enabled: 'true'
displayName: 'create GitHub.com release branch'
@ -50,5 +87,3 @@ steps:
ArtifactName: 'dist'
publishLocation: 'Container'
enabled: 'true'