.shared_windows_runners: tags: - windows image: mcr.microsoft.com/dotnet/sdk uptool: extends: - .shared_windows_runners stage: deploy script: | mkdir i cd i $(new-object System.Net.WebClient).DownloadFile("https://gitlab.com/JFronny/UpTool2/-/jobs/artifacts/master/raw/Installer-generic.zip?job=uptool", "$($(pwd).Path)\Install.zip") & "C:\Program Files\7-Zip\7z.exe" x .\Install.zip .\Installer.exe --basic i -p cd .. rm -R i $Env:Path="$Env:Path;$Env:APPDATA\UpTool2\Install" uptool --basic add-repo DevTools https://gitlab.com/JFronny/UpTool2/-/snippets/2010392/raw uptool --basic update uptool --basic install "UpTool2 package tools" $Env:Path="$Env:Path;$Env:APPDATA\UpTool2\Apps\0e35d154-d0d3-45e0-b080-62f521263a44\app" mkdir .\build cd W32.Test dotnet publish -o ..\build -c Release cd .. $file = Get-Item $(Resolve-Path .\build\*.exe).Path pkgtool build --binDir build --mainBin $file --packageFile .\package.zip --noLogo $asm = $([Reflection.Assembly]::LoadFile($file.DirectoryName + "\" + $file.BaseName + ".dll")) $asmver = $asm.GetName().Version.ToString() [System.XML.XMLDocument]$xml=New-Object System.XML.XMLDocument [System.XML.XMLElement]$app=$xml.CreateElement("app") $xml.appendChild($app) $app.appendChild($xml.CreateElement("Name")).InnerText = $asm.GetName().Name $app.appendChild($xml.CreateElement("Description")).InnerText = "Collection of Utilities for manipulating Windows" $app.appendChild($xml.CreateElement("Version")).InnerText = $asmver $app.appendChild($xml.CreateElement("ID")).InnerText = "3191d2f3-bf48-48ea-97a2-59fb32722d0a" $app.appendChild($xml.CreateElement("File")).InnerText = $CI_PROJECT_URL + "/-/jobs/" + $CI_JOB_ID + "/artifacts/raw/package.zip" $app.appendChild($xml.CreateElement("Hash")).InnerText = $(Get-FileHash .\package.zip).Hash $app.appendChild($xml.CreateElement("MainFile")).InnerText = $file.Name echo NULL > app.xml $xml.save($(gi .\app.xml).Fullname) $tmp1 = $asmver.split('.')[2] $tmp2 = $asmver.split('.')[3] $suffix = "$tmp1.$tmp2" cd Core dotnet pack --version-suffix "$suffix" -c Release -o . $tmp = $(Get-Item $(Resolve-Path *.nupkg).Path).Name echo $tmp dotnet nuget push $tmp -s https://api.nuget.org/v3/index.json -k $NUGET cd ..\Misc dotnet pack --version-suffix "$suffix" -c Release -o . $tmp = $(Get-Item $(Resolve-Path *.nupkg).Path).Name echo $tmp dotnet nuget push $tmp -s https://api.nuget.org/v3/index.json -k $NUGET cd ..\AspNet dotnet pack --version-suffix "$suffix" -c Release -o . $tmp = $(Get-Item $(Resolve-Path *.nupkg).Path).Name echo $tmp dotnet nuget push $tmp -s https://api.nuget.org/v3/index.json -k $NUGET cd ..\W32 dotnet pack --version-suffix "$suffix" -c Release -o . $tmp = $(Get-Item $(Resolve-Path *.nupkg).Path).Name echo $tmp dotnet nuget push $tmp -s https://api.nuget.org/v3/index.json -k $NUGET cd ..\Commandline dotnet pack --version-suffix "$suffix" -c Release -o . $tmp = $(Get-Item $(Resolve-Path *.nupkg).Path).Name echo $tmp dotnet nuget push $tmp -s https://api.nuget.org/v3/index.json -k $NUGET cd .. mkdir nugets cp .\Core\*.nupkg .\nugets\ cp .\Misc\*.nupkg .\nugets\ cp .\W32\*.nupkg .\nugets\ cp .\Commandline\*.nupkg .\nugets\ artifacts: paths: - package.zip - app.xml - nugets only: - master