Release Tag #7
Workflow file for this run
This file contains hidden or 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 Tag | |
| on: | |
| push: | |
| tags: | |
| - "v[0-9]+.[0-9]+.[0-9]+.[0-9]+" | |
| workflow_dispatch: | |
| jobs: | |
| pack: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Pack Semi.Avalonia | |
| run: dotnet pack src/Semi.Avalonia -o nugets | |
| - name: Pack Semi.Avalonia.ColorPicker | |
| run: dotnet pack src/Semi.Avalonia.ColorPicker -o nugets | |
| - name: Upload a Build Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: nugets | |
| path: nugets | |
| publish-windows: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Make upload directory | |
| run: mkdir upload | |
| - name: Publish win-x64 | |
| run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release -o publish/win64 --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true | |
| - name: Zip win-x64 | |
| run: | | |
| $files = Get-ChildItem -Path publish/win64/* -Recurse -Exclude *.pdb | |
| Compress-Archive -Path $files.FullName -DestinationPath upload/Semi.Avalonia.Demo.Desktop.win-x64.zip | |
| - name: Enable Native AOT in .csproj | |
| run: | | |
| sed -i 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj | |
| sed -i 's#<!--<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>-->#<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj | |
| - name: Publish win-x64 AOT | |
| run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release -o publish/win64-aot | |
| - name: Zip win-x64 AOT | |
| run: | | |
| $files = Get-ChildItem -Path publish/win64-aot/* -Recurse -Exclude *.pdb | |
| Compress-Archive -Path $files.FullName -DestinationPath upload/Semi.Avalonia.Demo.Desktop.win-x64.NativeAOT.zip | |
| - name: Upload a Build Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows | |
| path: upload | |
| publish-linux: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Make upload directory | |
| run: mkdir upload | |
| - name: Publish linux-x64 | |
| run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r linux-x64 -c Release -o publish/linux64 --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true | |
| - name: Zip linux-x64 | |
| run: zip -j -r upload/Semi.Avalonia.Demo.Desktop.linux-x64.zip publish/linux64 -x "*.pdb" | |
| - name: Publish linux-x64 DRM | |
| run: dotnet publish demo/Semi.Avalonia.Demo.Drm -r linux-x64 -c Release -o publish/drm --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true | |
| - name: Zip linux-x64 DRM | |
| run: zip -j -r upload/Semi.Avalonia.Demo.Drm.linux-x64.zip publish/drm -x "*.pdb" | |
| - name: Upload a Build Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: linux | |
| path: upload | |
| publish-android: | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: CD Android | |
| run: cd demo/Semi.Avalonia.Demo.Android | |
| - name: Restore Dependencies | |
| run: dotnet restore | |
| - name: Publish Android | |
| run: dotnet publish demo/Semi.Avalonia.Demo.Android -c Release -f net8.0-android --no-restore -o publish -p:RuntimeIdentifier=android-arm64 | |
| - name: Upload a Build Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: android | |
| path: publish/*Signed.apk | |
| draft-release: | |
| needs: [ pack, publish-windows, publish-linux, publish-android ] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download nugets Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: nugets | |
| - name: Download windows Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: windows | |
| - name: Download linux Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: linux | |
| - name: Download android Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: android | |
| - name: Release | |
| uses: softprops/action-gh-release@v2 | |
| if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' | |
| with: | |
| generate_release_notes: true | |
| draft: true | |
| files: | | |
| *.nupkg | |
| *.zip | |
| *.apk |