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:
Родитель
1206459730
Коммит
7fc081df28
|
@ -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'
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче