Release #236
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
workflow_dispatch: | |
jobs: | |
release: | |
runs-on: windows-latest | |
steps: | |
- name: Git - Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Version | |
id: version | |
run: | | |
# Get the current date | |
$DATE = Get-Date -Format "yyyy.Md" | |
# Get the current hour and minute without leading zero for the hour | |
# Get the current hour and minute | |
$HOUR = [int](Get-Date -Format "HH") # Convert hour to integer to strip any leading zero | |
# If the hour is 0 (midnight), set it to an empty string | |
if ($HOUR -eq 0) { | |
$HOUR = '' | |
} | |
$MINUTE = Get-Date -Format "mm" # Keep minutes as-is | |
# Construct the time, omitting hour if it's empty | |
$TIME = "$HOUR$MINUTE" | |
# Construct the version using DATE and TIME | |
$VERSION = "$DATE.$TIME" | |
Write-Output "Generated version: $VERSION" | |
# Export version as an output | |
echo "version=$VERSION" >> $env:GITHUB_OUTPUT | |
- name: Version - Update project files | |
uses: vers-one/[email protected] | |
with: | |
file: "src/**/*.csproj" | |
version: ${{ steps.version.outputs.version }} | |
- name: Release - Delete unpublished | |
uses: hugo19941994/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Release - Notes | |
uses: release-drafter/release-drafter@v6 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
with: | |
name: 'Sidekick v${{ steps.version.outputs.version }}' | |
tag: 'v${{ steps.version.outputs.version }}' | |
version: 'v${{ steps.version.outputs.version }}' | |
publish: false | |
prerelease: false | |
- name: Environment - Build Number | |
uses: myci-actions/export-env-var@1 | |
with: | |
name: BUILD_NUMBER | |
value: ${{ steps.version.outputs.version }} | |
- name: Environment - Github Token | |
uses: myci-actions/export-env-var@1 | |
with: | |
name: GITHUB_TOKEN | |
value: ${{ github.token }} | |
- name: .NET - Setup | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: 8.x | |
- name: .NET - Tests | |
shell: pwsh | |
run: | | |
dotnet restore | |
dotnet build --no-restore | |
dotnet test --no-build --verbosity normal | |
- name: .NET - Publish | |
shell: pwsh | |
run: | | |
$version = "${{ steps.version.outputs.version }}" | |
Write-Output "Version: $version" | |
dotnet publish src/Sidekick.Protocol/Sidekick.Protocol.csproj -p:PublishProfile=Build | |
dotnet publish src/Sidekick.Wpf/Sidekick.Wpf.csproj -c Release --self-contained true -r win-x64 -o ./Publish | |
- name: Velopack | |
shell: pwsh | |
run: | | |
$version = "${{ steps.version.outputs.version }}" | |
Write-Output "Version: $version" | |
dotnet tool install -g vpk | |
vpk download github --repoUrl https://github.com/Sidekick-Poe/Sidekick --channel windows-stable | |
vpk pack --packId Sidekick --packVersion $version --packDir Publish --channel windows-stable | |
vpk upload github --repoUrl https://github.com/Sidekick-Poe/Sidekick --channel windows-stable --merge --releaseName "Sidekick v$version" --tag v$version --token ${{ github.token }} |