diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 4271d73..e6b2376 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,9 +24,6 @@ jobs: - name: Publish .NET Project run: dotnet publish $PROJECT_PATH -c Release --nologo - - name: Change base-tag in index.html - run: sed -i 's###g' $OUTPUT_PATH/index.html - - name: copy index.html to 404.html run: cp $OUTPUT_PATH/index.html $OUTPUT_PATH/404.html diff --git a/.github/workflows/pack-nightly.yml b/.github/workflows/pack-nightly.yml index 2d07356..089cd2b 100644 --- a/.github/workflows/pack-nightly.yml +++ b/.github/workflows/pack-nightly.yml @@ -45,29 +45,29 @@ jobs: - name: Pack Semi.Avalonia if: ${{ github.event.inputs.Semi_Avalonia == 'true' }} - run: dotnet pack ./src/Semi.Avalonia -o ./nugets /p:Version=${{ env.VERSION }} + run: dotnet pack src/Semi.Avalonia -o nugets /p:Version=${{ env.VERSION }} - name: Pack Semi.Avalonia.ColorPicker if: ${{ github.event.inputs.Semi_Avalonia_ColorPicker == 'true' }} - run: dotnet pack ./src/Semi.Avalonia.ColorPicker -o ./nugets /p:Version=${{ env.VERSION }} + run: dotnet pack src/Semi.Avalonia.ColorPicker -o nugets /p:Version=${{ env.VERSION }} - name: Pack Semi.Avalonia.DataGrid if: ${{ github.event.inputs.Semi_Avalonia_DataGrid == 'true' }} - run: dotnet pack ./src/Semi.Avalonia.DataGrid -o ./nugets /p:Version=${{ env.VERSION }} + run: dotnet pack src/Semi.Avalonia.DataGrid -o nugets /p:Version=${{ env.VERSION }} - name: Pack Semi.Avalonia.TreeDataGrid if: ${{ github.event.inputs.Semi_Avalonia_TreeDataGrid == 'true' }} - run: dotnet pack ./src/Semi.Avalonia.TreeDataGrid -o ./nugets /p:Version=${{ env.VERSION }} + run: dotnet pack src/Semi.Avalonia.TreeDataGrid -o nugets /p:Version=${{ env.VERSION }} - name: Add NuGet Source run: dotnet nuget add source ${{ secrets.IRIHI_NUGET_NIGHTLY_FEED }} -n irihi.tech -u ${{ secrets.IRIHI_NUGET_USERNAME }} -p ${{ secrets.IRIHI_NUGET_PASSWORD }} --store-password-in-clear-text - name: Publish Nightly Package - run: dotnet nuget push "./nugets/*.nupkg" --api-key ${{ secrets.IRIHI_NUGET_API_KEY }} --source irihi.tech --skip-duplicate + run: dotnet nuget push "nugets/*.nupkg" --api-key ${{ secrets.IRIHI_NUGET_API_KEY }} --source irihi.tech --skip-duplicate - name: Upload a Build Artifact uses: actions/upload-artifact@v4.3.1 with: name: nugets - path: ./nugets + path: nugets if: always() \ No newline at end of file diff --git a/.github/workflows/pack.yml b/.github/workflows/pack.yml index d7fe43a..0731a46 100644 --- a/.github/workflows/pack.yml +++ b/.github/workflows/pack.yml @@ -34,26 +34,26 @@ jobs: - name: Pack Semi.Avalonia if: ${{ github.event.inputs.Semi_Avalonia == 'true' }} - run: dotnet pack ./src/Semi.Avalonia -o ./nugets + run: dotnet pack src/Semi.Avalonia -o nugets - name: Pack Semi.Avalonia.ColorPicker if: ${{ github.event.inputs.Semi_Avalonia_ColorPicker == 'true' }} - run: dotnet pack ./src/Semi.Avalonia.ColorPicker -o ./nugets + run: dotnet pack src/Semi.Avalonia.ColorPicker -o nugets - name: Pack Semi.Avalonia.DataGrid if: ${{ github.event.inputs.Semi_Avalonia_DataGrid == 'true' }} - run: dotnet pack ./src/Semi.Avalonia.DataGrid -o ./nugets + run: dotnet pack src/Semi.Avalonia.DataGrid -o nugets - name: Pack Semi.Avalonia.TreeDataGrid if: ${{ github.event.inputs.Semi_Avalonia_TreeDataGrid == 'true' }} - run: dotnet pack ./src/Semi.Avalonia.TreeDataGrid -o ./nugets + run: dotnet pack src/Semi.Avalonia.TreeDataGrid -o nugets - name: Publish NuGet package - run: dotnet nuget push "./nugets/*.nupkg" --api-key ${{ secrets.NUGET_ORG_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate + run: dotnet nuget push "nugets/*.nupkg" --api-key ${{ secrets.NUGET_ORG_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate - name: Upload a Build Artifact uses: actions/upload-artifact@v4.3.1 with: name: nugets - path: ./nugets + path: nugets if: always() \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index fc634e3..08c4120 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,13 +13,23 @@ on: - 'linux' - 'android' - 'all' - include_aot: - description: 'Include Windows AOT packaging' + win64: + description: 'Windows x64' required: true default: true type: boolean - include_drm: - description: 'Include Linux DRM packaging' + win64_aot: + description: 'Windows x64 AOT' + required: true + default: true + type: boolean + linux64: + description: 'Linux x64 AOT' + required: true + default: true + type: boolean + linux64_drm: + description: 'Linux x64 DRM' required: true default: true type: boolean @@ -36,34 +46,36 @@ jobs: run: mkdir upload - name: Publish win-x64 - run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/win64 + if: ${{ github.event.inputs.win64 == 'true' }} + 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 + if: ${{ github.event.inputs.win64 == 'true' }} run: | - $files = Get-ChildItem -Path ./publish/win64/* -Recurse -Exclude *.pdb - Compress-Archive -Path $files.FullName -DestinationPath ./upload/Semi.Avalonia.Demo.Desktop.win-x64.zip + $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 - if: ${{ github.event.inputs.include_aot == 'true' }} + if: ${{ github.event.inputs.win64_aot == 'true' }} run: | sed -i 's##true#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj sed -i 's##true#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj - name: Publish win-x64 AOT - if: ${{ github.event.inputs.include_aot == 'true' }} - run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release -o ./publish/win64-aot + if: ${{ github.event.inputs.win64_aot == 'true' }} + run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release -o publish/win64-aot - name: Zip win-x64 AOT - if: ${{ github.event.inputs.include_aot == 'true' }} + if: ${{ github.event.inputs.win64_aot == 'true' }} 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 + $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.3.1 with: name: windows - path: ./upload + path: upload linux: if: ${{ github.event.inputs.platform == 'linux' || github.event.inputs.platform == 'all' }} @@ -76,24 +88,26 @@ jobs: run: mkdir upload - name: Publish linux-x64 - run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r linux-x64 -c Release --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/linux64 + if: ${{ github.event.inputs.linux64 == 'true' }} + 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" + if: ${{ github.event.inputs.linux64 == 'true' }} + run: zip -j -r upload/Semi.Avalonia.Demo.Desktop.linux-x64.zip publish/linux64 -x "*.pdb" - name: Publish linux-x64 DRM - if: ${{ github.event.inputs.include_drm == 'true' }} - run: dotnet publish demo/Semi.Avalonia.Demo.Drm -r linux-x64 -c Release --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/drm + if: ${{ github.event.inputs.linux64_drm == 'true' }} + 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 - if: ${{ github.event.inputs.include_drm == 'true' }} - run: zip -j -r ./upload/Semi.Avalonia.Demo.Drm.linux-x64.zip ./publish/drm -x "*.pdb" + if: ${{ github.event.inputs.linux64_drm == 'true' }} + 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.3.1 with: name: linux - path: ./upload + path: upload android: if: ${{ github.event.inputs.platform == 'android' || github.event.inputs.platform == 'all' }} @@ -103,16 +117,16 @@ jobs: uses: actions/checkout@v4.1.1 - name: CD Android - run: cd ./demo/Semi.Avalonia.Demo.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 + 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.3.1 with: name: android - path: ./publish/*Signed.apk + path: publish/*Signed.apk diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index be462f7..b208355 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -15,16 +15,16 @@ jobs: uses: actions/checkout@v4 - name: Pack Semi.Avalonia - run: dotnet pack ./src/Semi.Avalonia -o ./nugets + run: dotnet pack src/Semi.Avalonia -o nugets - name: Pack Semi.Avalonia.ColorPicker - run: dotnet pack ./src/Semi.Avalonia.ColorPicker -o ./nugets + run: dotnet pack src/Semi.Avalonia.ColorPicker -o nugets - name: Upload a Build Artifact uses: actions/upload-artifact@v4 with: name: nugets - path: ./nugets + path: nugets publish-windows: runs-on: windows-latest @@ -36,12 +36,12 @@ jobs: run: mkdir upload - name: Publish win-x64 - run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/win64 + 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 + $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: | @@ -49,18 +49,18 @@ jobs: sed -i 's##true#' 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 + 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 + $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 + path: upload publish-linux: runs-on: ubuntu-latest @@ -72,22 +72,22 @@ jobs: run: mkdir upload - name: Publish linux-x64 - run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r linux-x64 -c Release --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/linux64 + 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" + 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 --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true -o ./publish/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" + 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 + path: upload publish-android: runs-on: windows-latest @@ -96,19 +96,19 @@ jobs: uses: actions/checkout@v4 - name: CD Android - run: cd ./demo/Semi.Avalonia.Demo.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 + 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 + path: publish/*Signed.apk draft-release: needs: [ pack, publish-windows, publish-linux, publish-android ]