fix: 修复发布在macOS和linux上的一些问题 #13
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: Build | |
permissions: | |
contents: write | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- 'v*' | |
jobs: | |
build-windows: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
cpu: [ x64, x86 ] | |
kind: [ zip ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: | | |
6.0.x | |
- name: Read Version Text | |
id: version | |
uses: juliangruber/read-file-action@v1 | |
with: | |
path: version.txt | |
- name: Install Pupnet | |
run: | | |
dotnet tool install -g KuiperZone.PupNet | |
- name: Get Deps | |
run: | | |
.\ffmpeg.ps1 ${{ matrix.cpu }} | |
.\aria2.ps1 ${{ matrix.cpu }} | |
working-directory: ./script | |
- name: Package | |
run: | | |
pupnet DownKyi.pupnet.conf --app-version ${{ steps.version.outputs.content }} --kind ${{ matrix.kind }} -r win-${{ matrix.cpu }} -y | |
working-directory: ./script/pupnet | |
- name: Upload build artifacts ${{ matrix.kind }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: DownKyi-${{ steps.version.outputs.content }}-1.win-${{ matrix.cpu }}.${{ matrix.kind }} | |
path: script/pupnet/output/DownKyi-${{ steps.version.outputs.content }}-1.win-${{ matrix.cpu }}.${{ matrix.kind }} | |
- name: Release | |
uses: ncipollo/release-action@v1 | |
if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
with: | |
allowUpdates: true | |
artifacts: script/pupnet/output/DownKyi-${{ steps.version.outputs.content }}-1.win-${{ matrix.cpu }}.${{ matrix.kind }} | |
build-linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
cpu: [ x64 ] | |
kind: [ AppImage, deb, rpm ] | |
include: | |
- kind: AppImage | |
cpu: x64 | |
package-tail: .x86_64 | |
package-head: DownKyi- | |
- kind: deb | |
cpu: x64 | |
package-tail: _amd64 | |
package-head: downkyi_ | |
- kind: rpm | |
cpu: x64 | |
package-tail: .x86_64 | |
package-head: downkyi_ | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: | | |
6.0.x | |
- name: Read Version Text | |
id: version | |
uses: juliangruber/read-file-action@v1 | |
with: | |
path: version.txt | |
- name: Install Pupnet | |
run: | | |
dotnet tool install -g KuiperZone.PupNet | |
sudo apt update | |
sudo apt install libfuse2 | |
- name: Get Deps | |
run: | | |
chmod +x ffmpeg.sh | |
chmod +x aria2.sh | |
./ffmpeg.sh linux ${{ matrix.cpu }} | |
./aria2.sh linux-${{ matrix.cpu }} | |
working-directory: ./script | |
- name: Package | |
run: | | |
pupnet DownKyi.pupnet.conf --app-version ${{ steps.version.outputs.content }} --kind ${{ matrix.kind }} -r linux-${{ matrix.cpu }} -y | |
working-directory: ./script/pupnet | |
- name: Upload build artifacts ${{ matrix.kind }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.package-head }}${{ steps.version.outputs.content }}_linux_${{ matrix.package-tail }}.${{ matrix.kind }} | |
path: script/pupnet/output/${{ matrix.package-head }}${{ steps.version.outputs.content }}-1${{ matrix.package-tail }}.${{ matrix.kind }} | |
- name: Change Name | |
if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
run: mv "${{ matrix.package-head }}${{ steps.version.outputs.content }}-1${{ matrix.package-tail }}.${{ matrix.kind }}" "${{ matrix.package-head }}${{ steps.version.outputs.content }}_linux_${{ matrix.package-tail }}.${{ matrix.kind }}" | |
working-directory: ./script/pupnet/output/ | |
- name: Release | |
uses: ncipollo/release-action@v1 | |
if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
with: | |
allowUpdates: true | |
artifacts: script/pupnet/output/${{ matrix.package-head }}${{ steps.version.outputs.content }}_linux_${{ matrix.package-tail }}.${{ matrix.kind }} | |
build-macos: | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
cpu: [ x64, arm64 ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Tool Via HomeBrew | |
run: | | |
export HOMEBREW_NO_AUTO_UPDATE=true | |
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=true | |
brew install create-dmg tree | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: | | |
6.0.x | |
- name: Read Version Text | |
id: version | |
uses: juliangruber/read-file-action@v1 | |
with: | |
path: version.txt | |
- name: Get Deps | |
run: | | |
chmod +x ffmpeg.sh | |
./ffmpeg.sh mac ${{ matrix.cpu }} | |
working-directory: ./script | |
- name: Build ${{ matrix.cpu }} | |
run: | | |
dotnet restore | |
dotnet publish --self-contained -r osx-${{ matrix.cpu }} -c Release -p:DebugType=None -p:DebugSymbols=false | |
- name: Package app | |
run: | | |
chmod +x package.sh | |
./package.sh ${{ matrix.cpu }} | |
working-directory: ./script/macos | |
- name: Create DMG | |
run: | | |
create-dmg \ | |
--hdiutil-quiet \ | |
--icon 哔哩下载姬.app 165 175 \ | |
--icon-size 120 \ | |
--app-drop-link 495 175 \ | |
--window-size 660 400 \ | |
DownKyi-${{ steps.version.outputs.content }}-osx-${{ matrix.cpu }}.dmg 哔哩下载姬.app | |
working-directory: ./script/macos | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: DownKyi-${{ steps.version.outputs.content }}-osx-${{ matrix.cpu }}.dmg | |
path: script/macos/DownKyi-${{ steps.version.outputs.content }}-osx-${{ matrix.cpu }}.dmg | |
- name: Release | |
uses: ncipollo/release-action@v1 | |
if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
with: | |
allowUpdates: true | |
artifacts: script/macos/DownKyi-${{ steps.version.outputs.content }}-osx-${{ matrix.cpu }}.dmg |