chore: Improve usability of Publish.ps1

pull/151/head
Robert Dailey 2 years ago
parent 969499bf5a
commit 609fdc0607

@ -78,7 +78,7 @@ jobs:
- name: Publish - name: Publish
shell: pwsh shell: pwsh
run: ci/Publish.ps1 ${{ matrix.runtime }} run: ci/Publish.ps1 -Runtime ${{ matrix.runtime }}
- name: Upload Artifacts - name: Upload Artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@ -137,7 +137,7 @@ jobs:
- name: Publish - name: Publish
shell: pwsh shell: pwsh
run: ci/Publish.ps1 ${{ matrix.runtime }} -noSingleFile run: ci/Publish.ps1 -Runtime ${{ matrix.runtime }} -NoSingleFile
- name: Upload Artifacts - name: Upload Artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3

@ -1,16 +1,22 @@
[CmdletBinding()] [CmdletBinding()]
param ( param (
[Parameter(Mandatory = $true)] [Parameter(Mandatory = $true)]
[string] $runtime, [string] $Runtime,
[Parameter()]
[switch] $noSingleFile [string] $OutputDir,
[string] $Configuration = "Release",
[string] $BuildPath = "src\Recyclarr",
[switch] $NoSingleFile
) )
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
if (-not $noSingleFile) { if (-not $NoSingleFile) {
$selfContained = "true"
$singleFileArgs = @( $singleFileArgs = @(
"--self-contained=true"
"-p:PublishSingleFile=true" "-p:PublishSingleFile=true"
"-p:IncludeNativeLibrariesForSelfExtract=true" "-p:IncludeNativeLibrariesForSelfExtract=true"
"-p:PublishReadyToRunComposite=true" "-p:PublishReadyToRunComposite=true"
@ -18,9 +24,17 @@ if (-not $noSingleFile) {
"-p:EnableCompressionInSingleFile=true" "-p:EnableCompressionInSingleFile=true"
) )
} }
else {
$selfContained = "false"
}
if (-not $OutputDir) {
$OutputDir = "publish\$Runtime"
}
dotnet publish src\Recyclarr ` dotnet publish $BuildPath `
--output publish\$runtime ` --output $OutputDir `
--configuration Release ` --configuration $Configuration `
--runtime $runtime ` --runtime $Runtime `
--self-contained $selfContained `
$singleFileArgs $singleFileArgs

@ -1,9 +1,14 @@
[CmdletBinding()] [CmdletBinding()]
param ( param (
$runtime = "linux-musl-x64" $Runtime = "linux-musl-x64"
) )
$artifactDir="$PSScriptRoot\artifacts" $artifactsDir = "$PSScriptRoot\artifacts"
Remove-Item $artifactDir -Recurse -Force -ErrorAction SilentlyContinue Remove-Item $artifactsDir -Recurse -Force -ErrorAction SilentlyContinue
dotnet publish "$PSScriptRoot\..\src\Recyclarr" -o "$artifactDir\recyclarr-$runtime" -r $runtime
Push-Location $PSScriptRoot\..
& ci\Publish.ps1 -NoSingleFile `
-OutputDir "$artifactsDir\recyclarr-$Runtime" `
-Runtime $Runtime
Pop-Location

Loading…
Cancel
Save