name: CD on: [push] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v2.0.0 - name: Setup NuGet uses: nuget/setup-nuget@v1.0.2 with: nuget-version: latest - name: Build id: base_init run: | cd $Env:GITHUB_WORKSPACE nuget restore cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\" .\MSBuild.exe -noLogo -verbosity:m $Env:GITHUB_WORKSPACE\UpTool2.sln -p:Configuration=Release cp "$Env:GITHUB_WORKSPACE\UpTool build tool\bin\Release\netcoreapp3.1\package.zip" $Env:GITHUB_WORKSPACE\Tools.zip cd "C:\Program Files\7-Zip\" .\7z a $Env:GITHUB_WORKSPACE\Release.zip $Env:GITHUB_WORKSPACE\UpTool2\bin\Release\netcoreapp3.1 cd $Env:GITHUB_WORKSPACE\UpTool2\bin\Release\netcoreapp3.1 ls echo "UpTool version" $asmver = $([Reflection.Assembly]::Loadfile($(pwd).Path + "\\UpTool2.dll").GetName().version.ToString()) echo "pkgtool version" cd "$Env:GITHUB_WORKSPACE\UpTool build tool\bin\Release\netcoreapp3.1" $pkgtoolver = $([Reflection.Assembly]::Loadfile($(pwd).Path + "\\pkgtool.dll").GetName().version.ToString()) cd $Env:GITHUB_WORKSPACE echo "::set-output name=vers::$asmver" echo "::set-output name=pkgvers::$pkgtoolver" - name: Create Release id: create_release uses: actions/create-release@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.base_init.outputs.vers }} release_name: Release ${{ steps.base_init.outputs.vers }} draft: false prerelease: false - name: Upload Release Asset id: upload_release_asset uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./Release.zip asset_name: Release.zip asset_content_type: application/zip - name: Upload Tool Asset id: upload_tool_asset uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./Tools.zip asset_name: Tools.zip asset_content_type: application/zip - name: Create XML id: package_tool_xml run: | [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 = "${{ steps.base_init.outputs.pkgvers }}" $app.appendChild($xml.CreateElement("ID")).InnerText = "0e35d154-d0d3-45e0-b080-62f521263a44" $app.appendChild($xml.CreateElement("File")).InnerText = "${{ steps.upload_tool_asset.outputs.browser_download_url }}" $app.appendChild($xml.CreateElement("Hash")).InnerText = $(Get-FileHash $Env:GITHUB_WORKSPACE\Tools.zip).Hash 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 = "${{ steps.base_init.outputs.vers }}" $app.appendChild($xml.CreateElement("File")).InnerText = "${{ steps.upload_release_asset.outputs.browser_download_url }}" $app.appendChild($xml.CreateElement("Hash")).InnerText = $(Get-FileHash $Env:GITHUB_WORKSPACE\Release.zip).Hash echo NULL > meta.xml $xml.save($(gi .\meta.xml).Fullname) - name: Upload Meta XML id: upload_meta_xml uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./meta.xml asset_name: meta.xml asset_content_type: text/xml - name: Upload Tool XML id: upload_tool_xml uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./tools.xml asset_name: tools.xml asset_content_type: text/xml