diff --git a/.github/workflows/ci-master-pr.yml b/.github/workflows/ci-master-pr.yml index dead977..4a78056 100644 --- a/.github/workflows/ci-master-pr.yml +++ b/.github/workflows/ci-master-pr.yml @@ -239,7 +239,7 @@ jobs: export RELEASE_TAG_REF=$( echo "$GITHUB_REF" | sed -rn 's/^refs\/tags\/(.*)/\1/p' ) # Generate (Generates release notes) - pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./src/scripts/ci/Invoke-Generate.ps1' + pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./Invoke-Generate.ps1' cat .release-notes.md - name: Upload artifacts uses: actions/upload-artifact@v4 @@ -257,4 +257,4 @@ jobs: export RELEASE_REPOSITORY=$( basename "$( git rev-parse --show-toplevel )" ) # Release (Creates GitHub release) - pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./src/scripts/ci/Invoke-Release.ps1' + pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./Invoke-Release.ps1' diff --git a/src/scripts/ci/Invoke-Generate.ps1 b/Invoke-Generate.ps1 similarity index 100% rename from src/scripts/ci/Invoke-Generate.ps1 rename to Invoke-Generate.ps1 diff --git a/src/scripts/ci/Invoke-Release.ps1 b/Invoke-Release.ps1 similarity index 100% rename from src/scripts/ci/Invoke-Release.ps1 rename to Invoke-Release.ps1 diff --git a/README.md b/README.md index 78341ad..a2d5da7 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ The project provides a set of [entrypoint scripts](src/scripts/ci) for generatin #### Generating release notes -The entrypoint script [`Invoke-Generate.ps1`](src/scripts/ci/Invoke-Generate.ps1) is used to generate release notes for any local git repository. To do so, simply define applicable [environment variables](#environment-variables-1) before executing the entrypoint script. +The entrypoint script [`Invoke-Generate.ps1`](Invoke-Generate.ps1) is used to generate release notes for any local git repository. To do so, simply define applicable [environment variables](#environment-variables-1) before executing the entrypoint script. The project includes [inbuilt](.vscode/tasks.json) and [samples](docs/samples/.vscode) of `.vscode/tasks.json` for generating release notes via [*Build Tasks*](https://code.visualstudio.com/docs/editor/tasks) in [VSCode](https://code.visualstudio.com/). Simply execute relevant build task(s) while entering custom or default values per variable prompt. @@ -105,7 +105,7 @@ Generating of release notes supports all tag refs. Tags *need not* follow [Seman #### Creating releases -The entrypoint script [`Invoke-Release.ps1`](src/scripts/ci/Invoke-Release.ps1) can be used to create releases for GitHub repositories. To do so, simply define applicable [environment variables](#environment-variables-1) before executing the entrypoint script. +The entrypoint script [`Invoke-Release.ps1`](Invoke-Release.ps1) can be used to create releases for GitHub repositories. To do so, simply define applicable [environment variables](#environment-variables-1) before executing the entrypoint script. The project includes [inbuilt](.vscode/tasks.json) and [samples](docs/samples/.vscode) of `.vscode/tasks.json` for creating releases via [*Build Tasks*](https://code.visualstudio.com/docs/editor/tasks) in [VSCode](https://code.visualstudio.com/). Simply execute relevant build task(s) while entering custom or default values per variable prompt. Note that due to the inability to enter multiline strings in build tasks, the options `RELEASE_NOTES_CONTENT` and `RELEASE_ASSETS` are presently unavailable and limited in usability respectively. @@ -162,10 +162,10 @@ export RELEASE_NAMESPACE="$GITHUB_REPOSITORY_OWNER" export RELEASE_REPOSITORY=$( basename "$( git rev-parse --show-toplevel )" ) # Generate (Generates release notes) -pwsh -NoLogo -NonInteractive -NoProfile -Command './PSRepositoryReleaseManager/src/scripts/ci/Invoke-Generate.ps1' +pwsh -NoLogo -NonInteractive -NoProfile -Command './PSRepositoryReleaseManager/Invoke-Generate.ps1' # Release (Creates GitHub release) -pwsh -NoLogo -NonInteractive -NoProfile -Command './PSRepositoryReleaseManager/src/scripts/ci/Invoke-Release.ps1' +pwsh -NoLogo -NonInteractive -NoProfile -Command './PSRepositoryReleaseManager/Invoke-Release.ps1' ``` **Note:** Ensure the environment variable [`GITHUB_API_TOKEN`](#github-api-token) is defined prior to creating releases. diff --git a/docs/samples/.vscode/tasks.submodule.json b/docs/samples/.vscode/tasks.submodule.json index d645eeb..6c50589 100644 --- a/docs/samples/.vscode/tasks.submodule.json +++ b/docs/samples/.vscode/tasks.submodule.json @@ -113,25 +113,25 @@ { "label": "[PSRepositoryReleaseManager] Generate release notes (pwsh)", "type": "shell", - "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/src/scripts/ci/Invoke-Generate.ps1'", + "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/Invoke-Generate.ps1'", "group": "build" }, { "label": "[PSRepositoryReleaseManager] Generate release notes (powershell)", "type": "shell", - "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/src/scripts/ci/Invoke-Generate.ps1'", + "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/Invoke-Generate.ps1'", "group": "build" }, { "label": "[PSRepositoryReleaseManager] Create release (pwsh)", "type": "shell", - "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/src/scripts/ci/Invoke-Release.ps1'", + "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/Invoke-Release.ps1'", "group": "build" }, { "label": "[PSRepositoryReleaseManager] Create release (powershell)", "type": "shell", - "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/src/scripts/ci/Invoke-Release.ps1'", + "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./build/PSRepositoryReleaseManager/Invoke-Release.ps1'", "group": "build" } ] diff --git a/docs/samples/ci/github/github-workflows.linux-container.yml b/docs/samples/ci/github/github-workflows.linux-container.yml index b1d884f..b15a77e 100644 --- a/docs/samples/ci/github/github-workflows.linux-container.yml +++ b/docs/samples/ci/github/github-workflows.linux-container.yml @@ -45,7 +45,7 @@ jobs: export RELEASE_TAG_REF=$( echo "$GITHUB_REF" | sed -rn 's/^refs\/tags\/(.*)/\1/p' ) # Generate (Generates release notes) - pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/src/scripts/ci/Invoke-Generate.ps1' + pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/Invoke-Generate.ps1' cat PSRepositoryReleaseManager/.release-notes.md - name: Upload artifacts uses: actions/upload-artifact@v4 @@ -63,4 +63,4 @@ jobs: export RELEASE_REPOSITORY=$( basename "$( git rev-parse --show-toplevel )" ) # Release (Creates GitHub release) - pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/src/scripts/ci/Invoke-Release.ps1' + pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/Invoke-Release.ps1' diff --git a/docs/samples/ci/github/github-workflows.linux.yml b/docs/samples/ci/github/github-workflows.linux.yml index 5158c01..274692c 100644 --- a/docs/samples/ci/github/github-workflows.linux.yml +++ b/docs/samples/ci/github/github-workflows.linux.yml @@ -40,7 +40,7 @@ jobs: export RELEASE_TAG_REF=$( echo "$GITHUB_REF" | sed -rn 's/^refs\/tags\/(.*)/\1/p' ) # Generate (Generates release notes) - pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/src/scripts/ci/Invoke-Generate.ps1' + pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/Invoke-Generate.ps1' cat PSRepositoryReleaseManager/.release-notes.md - name: Upload artifacts uses: actions/upload-artifact@v4 @@ -58,4 +58,4 @@ jobs: export RELEASE_REPOSITORY=$( basename "$( git rev-parse --show-toplevel )" ) # Release (Creates GitHub release) - pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/src/scripts/ci/Invoke-Release.ps1' + pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = "Continue"; ./PSRepositoryReleaseManager/Invoke-Release.ps1' diff --git a/src/PSRepositoryReleaseManager/PSRepositoryReleaseManager.Tests.ps1 b/src/PSRepositoryReleaseManager/PSRepositoryReleaseManager.Tests.ps1 index efb5a4e..d546a29 100644 --- a/src/PSRepositoryReleaseManager/PSRepositoryReleaseManager.Tests.ps1 +++ b/src/PSRepositoryReleaseManager/PSRepositoryReleaseManager.Tests.ps1 @@ -11,21 +11,21 @@ Describe "PSRepositoryReleaseManager" -Tag 'Integration' { AfterEach { } It "Runs Invoke-Generate.ps1" { - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:PROJECT_DIRECTORY" { $env:PROJECT_DIRECTORY = "$(git rev-parse --show-toplevel)" - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_TAG_REF='HEAD'" { $env:RELEASE_TAG_REF = 'HEAD' - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } @@ -33,49 +33,49 @@ Describe "PSRepositoryReleaseManager" -Tag 'Integration' { $env:RELEASE_TAG_REF = 'master' git checkout -b 'master' 'HEAD' - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_TAG_REF='vx.x.x'" { $env:RELEASE_TAG_REF = git describe --tags --abbrev=0 - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_TAG_REF='remote/branch'" { $env:RELEASE_TAG_REF = 'origin/master' - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_TAG_REF='commit-hash'" { $env:RELEASE_TAG_REF = git rev-parse HEAD - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_NOTES_VARIANT='Changes-HashSubject-NoMerges'" { $env:RELEASE_NOTES_VARIANT = 'Changes-HashSubject-NoMerges' - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_NOTES_PATH='.release-notes.md'" { $env:RELEASE_NOTES_PATH = ".release-notes.relativepath.md" - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } It "Runs Invoke-Generate.ps1 with `$env:RELEASE_NOTES_PATH='/path/to/.release-notes.md'" { $env:RELEASE_NOTES_PATH = "$(git rev-parse --show-toplevel)/.release-notes.fullpath.md" - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } @@ -88,7 +88,7 @@ Describe "PSRepositoryReleaseManager" -Tag 'Integration' { $env:RELEASE_NOTES_VARIANT = $variant $env:RELEASE_NOTES_PATH = "$(git rev-parse --show-toplevel)/.release-notes.$variant.md" - $stdout = ../src/scripts/ci/Invoke-Generate.ps1 + $stdout = ../Invoke-Generate.ps1 "Generate notes content:" | Write-Verbose Get-Content -Path "$stdout" | Write-Host } diff --git a/.vscode/tasks.json b/tasks.json similarity index 95% rename from .vscode/tasks.json rename to tasks.json index 987b78f..ce96fb1 100644 --- a/.vscode/tasks.json +++ b/tasks.json @@ -112,25 +112,25 @@ { "label": "Generate release notes (pwsh)", "type": "shell", - "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./src/scripts/ci/Invoke-Generate.ps1'", + "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./Invoke-Generate.ps1'", "group": "build" }, { "label": "Generate release notes (powershell)", "type": "shell", - "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./src/scripts/ci/Invoke-Generate.ps1'", + "command": "PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NOTES_VARIANT='${input:RELEASE_NOTES_VARIANT}' RELEASE_NOTES_PATH='${input:RELEASE_NOTES_PATH}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./Invoke-Generate.ps1'", "group": "build" }, { "label": "Create release (pwsh)", "type": "shell", - "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./src/scripts/ci/Invoke-Release.ps1'", + "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' pwsh -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./Invoke-Release.ps1'", "group": "build" }, { "label": "Create release (powershell)", "type": "shell", - "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./src/scripts/ci/Invoke-Release.ps1'", + "command": "GITHUB_API_TOKEN='${input:GITHUB_API_TOKEN}' PROJECT_DIRECTORY='${input:PROJECT_DIRECTORY}' RELEASE_TAG_REF='${input:RELEASE_TAG_REF}' RELEASE_NAMESPACE='${input:RELEASE_NAMESPACE}' RELEASE_REPOSITORY='${input:RELEASE_REPOSITORY}' RELEASE_NAME='${input:RELEASE_NAME}' RELEASE_DRAFT='${input:RELEASE_DRAFT}' RELEASE_PRERELEASE='${input:RELEASE_PRERELEASE}' RELEASE_ASSETS='${input:RELEASE_ASSETS}' powershell -NoLogo -NonInteractive -NoProfile -Command '$VerbosePreference = \"Continue\"; ./Invoke-Release.ps1'", "group": "build" }, {