.shared_windows_runners: tags: - windows uptool: extends: - .shared_windows_runners stage: deploy script: | Invoke-WebRequest -Uri https://dotnet.microsoft.com/download/dotnet-core/scripts/v1/dotnet-install.ps1 -OutFile dotnet-install.ps1 Set-ExecutionPolicy Unrestricted -Scope Process .\dotnet-install.ps1 -Channel 5.0 $env:Path = "C:\Users\gitlab_runner\AppData\Local\Microsoft\dotnet;" + $env:Path + ";C:\Users\gitlab_runner\AppData\Local\Microsoft\dotnet" dotnet build --verbosity:m -p:Configuration=Release cp ".\UpTool build tool\bin\Release\net5.0\package.zip" .\Tools.zip & "C:\Program Files\7-Zip\7z" a .\Release.zip .\UpTool2\bin\Release\net5.0-windows\UpTool2.exe & "C:\Program Files\7-Zip\7z" a .\Release.zip .\UpTool2\bin\Release\net5.0-windows\*.dll & "C:\Program Files\7-Zip\7z" a .\Release.zip .\UpTool2\bin\Release\net5.0-windows\UpTool2.runtimeconfig.json & "C:\Program Files\7-Zip\7z" a .\Release.zip .\UpToolCLI\bin\Release\net5.0\uptool.exe & "C:\Program Files\7-Zip\7z" a .\Release.zip .\UpToolCLI\bin\Release\net5.0\*.dll & "C:\Program Files\7-Zip\7z" a .\Release.zip .\UpToolCLI\bin\Release\net5.0\uptool.runtimeconfig.json $asmver = $([Reflection.Assembly]::Loadfile($(pwd).Path + "\\UpTool2\\bin\\Release\\net5.0-windows\\UpTool2.dll").GetName().version.ToString()) $pkgtoolver = $([Reflection.Assembly]::Loadfile($(pwd).Path + "\\UpTool build tool\\bin\\Release\\net5.0\\pkgtool.dll").GetName().version.ToString()) & "C:\Program Files\7-Zip\7z" a .\Installer-generic.zip .\InstallerCLI\bin\Release\net5.0\Installer.exe & "C:\Program Files\7-Zip\7z" a .\Installer-generic.zip .\InstallerCLI\bin\Release\net5.0\*.dll & "C:\Program Files\7-Zip\7z" a .\Installer-generic.zip .\InstallerCLI\bin\Release\net5.0\Installer.runtimeconfig.json & "C:\Program Files\7-Zip\7z" a .\Installer-generic.zip .\InstallerCLI\Info.txt & "C:\Program Files\7-Zip\7z" a .\Installer-gui.zip .\Installer\bin\Release\net5.0-windows\Installer.exe & "C:\Program Files\7-Zip\7z" a .\Installer-gui.zip .\Installer\bin\Release\net5.0-windows\*.dll & "C:\Program Files\7-Zip\7z" a .\Installer-gui.zip .\Installer\bin\Release\net5.0-windows\Installer.runtimeconfig.json [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 = "UpTool2 package tools" $app.appendChild($xml.CreateElement("Description")).InnerText = "Tools for automating package creation" $app.appendChild($xml.CreateElement("Version")).InnerText = $pkgtoolver $app.appendChild($xml.CreateElement("ID")).InnerText = "0e35d154-d0d3-45e0-b080-62f521263a44" $app.appendChild($xml.CreateElement("File")).InnerText = $CI_PROJECT_URL + "/-/jobs/" + $CI_JOB_ID + "/artifacts/raw/Tools.zip" $app.appendChild($xml.CreateElement("Hash")).InnerText = $(Get-FileHash .\Tools.zip).Hash $app.appendChild($xml.CreateElement("MainFile")).InnerText = "pkgtool.exe" $app.appendChild($xml.CreateElement("Icon")).InnerText = "https://gitlab.com/JFronny/UpTool2/-/raw/master/UpTool2.ico" echo NULL > tools.xml $xml.save($(gi .\tools.xml).Fullname) [System.XML.XMLDocument]$xml=New-Object System.XML.XMLDocument [System.XML.XMLElement]$app=$xml.CreateElement("meta") $xml.appendChild($app) $app.appendChild($xml.CreateElement("Version")).InnerText = $asmver $app.appendChild($xml.CreateElement("File")).InnerText = $CI_PROJECT_URL + "/-/jobs/" + $CI_JOB_ID + "/artifacts/raw/Release.zip" $app.appendChild($xml.CreateElement("Hash")).InnerText = $(Get-FileHash .\Release.zip).Hash $app.appendChild($xml.CreateElement("Installer")).InnerText = $CI_PROJECT_URL + "/-/jobs/" + $CI_JOB_ID + "/artifacts/raw/Installer-generic.zip" $app.appendChild($xml.CreateElement("InstallerHash")).InnerText = $(Get-FileHash .\Installer-generic.zip).Hash $app.appendChild($xml.CreateElement("InstallerGui")).InnerText = $CI_PROJECT_URL + "/-/jobs/" + $CI_JOB_ID + "/artifacts/raw/Installer-gui.zip" $app.appendChild($xml.CreateElement("InstallerGuiHash")).InnerText = $(Get-FileHash .\Installer-gui.zip).Hash echo NULL > meta.xml $xml.save($(gi .\meta.xml).Fullname) #cd Installer #dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true #dotnet publish -r win-x86 -c Release /p:PublishSingleFile=true /p:PublishTrimmed=true #cp .\bin\Release\net5.0-windows\win-x64\publish\Installer.exe ..\Installer-x64.exe #cp .\bin\Release\net5.0-windows\win-x86\publish\Installer.exe ..\Installer-x86.exe #cd .. #Installer-x64 and Installer-x86 were also originally artifacts but there doesn't seem to be a x86-64 windows runner artifacts: paths: - Release.zip - Tools.zip - Installer-generic.zip - Installer-gui.zip - meta.xml - tools.xml only: - master