From 63f158ad5bc348e5a532e4a9d9e0a6ed4066f94b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Kohl?= Date: Mon, 22 Jun 2026 20:21:29 -0400 Subject: [PATCH] Publish the shared project, bump app versions to 1.2.1 --- .../workflows/publish-avalonia-to-nuget.yml | 21 ++---------- .github/workflows/publish-shared-to-nuget.yml | 32 +++++++++++++++++++ .github/workflows/publish-to-nuget.yml | 30 ++++------------- Directory.Build.props | 9 ++++++ .../WaveformTimeline.Avalonia.csproj | 7 +--- .../WaveformTimeline.Shared.csproj | 19 +++++++---- WaveformTimeline/WaveformTimeline.csproj | 7 +--- 7 files changed, 65 insertions(+), 60 deletions(-) create mode 100644 .github/workflows/publish-shared-to-nuget.yml create mode 100644 Directory.Build.props diff --git a/.github/workflows/publish-avalonia-to-nuget.yml b/.github/workflows/publish-avalonia-to-nuget.yml index 5b939df..3642384 100644 --- a/.github/workflows/publish-avalonia-to-nuget.yml +++ b/.github/workflows/publish-avalonia-to-nuget.yml @@ -2,10 +2,6 @@ name: Publish Avalonia to NuGet on: workflow_dispatch: - inputs: - version: - description: "Version number (leave empty to read from csproj)" - required: false jobs: publish: @@ -23,25 +19,14 @@ jobs: with: dotnet-version: 10.0.x - - name: Extract Version from csproj (if not provided) - if: ${{ github.event.inputs.version == '' }} - id: get_version - run: | - version=$(grep '' ${{ env.Project_Path }} | sed 's/.*\(.*\)<\/Version>.*/\1/') - echo "version=$version" >> "$GITHUB_OUTPUT" - - - name: Set Version Variable - run: | - echo "PACKAGE_VERSION=${{ github.event.inputs.version || steps.get_version.outputs.version }}" >> "$GITHUB_ENV" - - name: Restore Dependencies run: dotnet restore ${{ env.Project_Path }} - name: Build Project - run: dotnet build ${{ env.Project_Path }} --configuration Release /p:Version=${{ env.PACKAGE_VERSION }} --no-restore + run: dotnet build ${{ env.Project_Path }} --configuration Release --no-restore - name: Pack NuGet Package - run: dotnet pack ${{ env.Project_Path }} --configuration Release --no-build --output nupkg /p:Version=${{ env.PACKAGE_VERSION }} + run: dotnet pack ${{ env.Project_Path }} --configuration Release --no-build --output nupkg - name: Publish to NuGet - run: dotnet nuget push nupkg/WaveformTimeline.Avalonia.${{ env.PACKAGE_VERSION }}.nupkg --source ${{ env.NuGet_Source }} --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate + run: dotnet nuget push "nupkg/*.nupkg" --source ${{ env.NuGet_Source }} --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate diff --git a/.github/workflows/publish-shared-to-nuget.yml b/.github/workflows/publish-shared-to-nuget.yml new file mode 100644 index 0000000..2335007 --- /dev/null +++ b/.github/workflows/publish-shared-to-nuget.yml @@ -0,0 +1,32 @@ +name: Publish Shared to NuGet + +on: + workflow_dispatch: + +jobs: + publish: + runs-on: ubuntu-latest + env: + Project_Path: WaveformTimeline.Shared/WaveformTimeline.Shared.csproj + NuGet_Source: https://api.nuget.org/v3/index.json + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Install .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 10.0.x + + - name: Restore Dependencies + run: dotnet restore ${{ env.Project_Path }} + + - name: Build Project + run: dotnet build ${{ env.Project_Path }} --configuration Release --no-restore + + - name: Pack NuGet Package + run: dotnet pack ${{ env.Project_Path }} --configuration Release --no-build --output nupkg + + - name: Publish to NuGet + run: dotnet nuget push "nupkg/*.nupkg" --source ${{ env.NuGet_Source }} --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate diff --git a/.github/workflows/publish-to-nuget.yml b/.github/workflows/publish-to-nuget.yml index b67e112..674149b 100644 --- a/.github/workflows/publish-to-nuget.yml +++ b/.github/workflows/publish-to-nuget.yml @@ -2,51 +2,33 @@ name: Publish to NuGet on: workflow_dispatch: - inputs: - version: - description: "Version number (leave empty to read from csproj)" - required: false jobs: publish: runs-on: windows-latest env: - Solution_Name: WaveformTimeline.sln Project_Path: WaveformTimeline\WaveformTimeline.csproj NuGet_Source: https://api.nuget.org/v3/index.json steps: - name: Checkout Repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - name: Install .NET Core - uses: actions/setup-dotnet@v1 + - name: Install .NET + uses: actions/setup-dotnet@v4 with: dotnet-version: 10.0.x - - name: Extract Version from csproj (if not provided) - if: ${{ github.event.inputs.version == '' }} - id: get_version - run: | - $version = Select-String -Path ${{ env.Project_Path }} -Pattern '(.*)' | ForEach-Object { $_.Matches.Groups[1].Value } - echo "version=$version" >> $env:GITHUB_OUTPUT - shell: pwsh - - - name: Set Version Variable - shell: pwsh - run: | - "PACKAGE_VERSION=${{ github.event.inputs.version || steps.get_version.outputs.version }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - - name: Restore Dependencies run: dotnet restore ${{ env.Project_Path }} - name: Build Project - run: dotnet build ${{ env.Project_Path }} --configuration Release /p:Version=${{ env.PACKAGE_VERSION }} --no-restore + run: dotnet build ${{ env.Project_Path }} --configuration Release --no-restore - name: Pack NuGet Package shell: pwsh - run: dotnet pack ${{ env.Project_Path }} --configuration Release --no-build --output ${{ github.workspace }}\nupkg /p:Version=${{ env.PACKAGE_VERSION }} + run: dotnet pack ${{ env.Project_Path }} --configuration Release --no-build --output ${{ github.workspace }}\nupkg - name: Publish to NuGet shell: pwsh - run: dotnet nuget push ${{ github.workspace }}\nupkg\WaveformTimeline.${{ env.PACKAGE_VERSION }}.nupkg --source ${{ env.NuGet_Source }} --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate + run: dotnet nuget push ${{ github.workspace }}\nupkg\*.nupkg --source ${{ env.NuGet_Source }} --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..4e0e8b4 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,9 @@ + + + Tomáš Kohl + Copyright © 2026 Tomáš Kohl + https://github.com/teekay/WaveformTimeline + git@github.com:teekay/WaveformTimeline.git + git + + diff --git a/WaveformTimeline.Avalonia/WaveformTimeline.Avalonia.csproj b/WaveformTimeline.Avalonia/WaveformTimeline.Avalonia.csproj index 50fedca..9786b85 100644 --- a/WaveformTimeline.Avalonia/WaveformTimeline.Avalonia.csproj +++ b/WaveformTimeline.Avalonia/WaveformTimeline.Avalonia.csproj @@ -6,13 +6,8 @@ WaveformTimeline.Avalonia True WaveformTimeline.Avalonia - 1.0.0 - Tomáš Kohl + 1.2.1 A set of controls that display a stereo waveform, time, and progress information about an audio stream. Avalonia UI port. - Copyright © 2026 Tomáš Kohl - https://github.com/teekay/WaveformTimeline - git@github.com:teekay/WaveformTimeline.git - git avalonia;waveform;audio LICENSE README.md diff --git a/WaveformTimeline.Shared/WaveformTimeline.Shared.csproj b/WaveformTimeline.Shared/WaveformTimeline.Shared.csproj index acd09fc..790c7ae 100644 --- a/WaveformTimeline.Shared/WaveformTimeline.Shared.csproj +++ b/WaveformTimeline.Shared/WaveformTimeline.Shared.csproj @@ -4,13 +4,20 @@ latest WaveformTimeline WaveformTimeline.Shared + WaveformTimeline.Shared + True + 1.0.0 + Platform-independent core types for WaveformTimeline — the shared models and logic behind the WPF and Avalonia waveform controls. + waveform;audio;core + LICENSE + README.md - - 6.1.0 - - - 6.1.0 - + + + + + + diff --git a/WaveformTimeline/WaveformTimeline.csproj b/WaveformTimeline/WaveformTimeline.csproj index 32b9b00..3e7bede 100644 --- a/WaveformTimeline/WaveformTimeline.csproj +++ b/WaveformTimeline/WaveformTimeline.csproj @@ -7,16 +7,11 @@ WaveformTimeline True A set of controls that display a stereo waveform, time, and progress information about an audio stream. - Copyright © 2026 Tomáš Kohl - https://github.com/teekay/WaveformTimeline README.md - git@github.com:teekay/WaveformTimeline.git - git wpf;waveform;audio 1.0.1 LICENSE - Tomáš Kohl - 1.2.0 + 1.2.1