mirror of
https://gh.catmak.name/https://github.com/mihomo-party-org/mihomo-party
synced 2025-12-27 05:00:30 +08:00
570 lines
21 KiB
YAML
570 lines
21 KiB
YAML
name: Build
|
||
on:
|
||
push:
|
||
tags:
|
||
- v*
|
||
paths-ignore:
|
||
- 'README.md'
|
||
- '.github/ISSUE_TEMPLATE/**'
|
||
- '.github/workflows/issues.yml'
|
||
workflow_dispatch:
|
||
|
||
permissions: write-all
|
||
|
||
jobs:
|
||
cleanup-dev-release:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Delete Dev Release Assets
|
||
if: github.event_name == 'workflow_dispatch'
|
||
continue-on-error: true
|
||
run: |
|
||
# Get release ID for dev tag
|
||
echo "🔍 Looking for existing dev release..."
|
||
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||
"https://api.github.com/repos/${{ github.repository }}/releases/tags/dev" | \
|
||
jq -r '.id // empty')
|
||
|
||
if [ ! -z "$RELEASE_ID" ] && [ "$RELEASE_ID" != "empty" ]; then
|
||
echo "✅ Found dev release with ID: $RELEASE_ID"
|
||
|
||
# Get all assets
|
||
echo "📋 Getting list of assets..."
|
||
ASSETS=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||
"https://api.github.com/repos/${{ github.repository }}/releases/$RELEASE_ID/assets")
|
||
|
||
ASSET_COUNT=$(echo "$ASSETS" | jq '. | length')
|
||
echo "📦 Found $ASSET_COUNT assets to delete"
|
||
|
||
if [ "$ASSET_COUNT" -gt 0 ]; then
|
||
# Delete each asset with detailed logging
|
||
echo "$ASSETS" | jq -r '.[].id' | while read asset_id; do
|
||
if [ ! -z "$asset_id" ]; then
|
||
echo "🗑️ Deleting asset ID: $asset_id"
|
||
RESPONSE=$(curl -s -w "HTTPSTATUS:%{http_code}" -X DELETE \
|
||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||
"https://api.github.com/repos/${{ github.repository }}/releases/assets/$asset_id")
|
||
|
||
HTTP_CODE=$(echo $RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
|
||
if [ "$HTTP_CODE" = "204" ]; then
|
||
echo "✅ Successfully deleted asset $asset_id"
|
||
else
|
||
echo "❌ Failed to delete asset $asset_id (HTTP: $HTTP_CODE)"
|
||
echo "Response: $(echo $RESPONSE | sed -e 's/HTTPSTATUS:.*//')"
|
||
fi
|
||
# Add small delay to avoid rate limiting
|
||
sleep 0.5
|
||
fi
|
||
done
|
||
echo "🎉 Finished deleting assets"
|
||
else
|
||
echo "ℹ️ No assets found to delete"
|
||
fi
|
||
else
|
||
echo "ℹ️ No existing dev release found"
|
||
fi
|
||
- name: Skip for Tag Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
run: echo "Skipping cleanup for tag release"
|
||
windows:
|
||
needs: [cleanup-dev-release]
|
||
if: always() && (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch')
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
arch:
|
||
- x64
|
||
- ia32
|
||
- arm64
|
||
runs-on: windows-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup pnpm
|
||
run: npm install -g pnpm
|
||
- name: Install Dependencies
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: |
|
||
pnpm install
|
||
pnpm add @mihomo-party/sysproxy-win32-${{ matrix.arch }}-msvc
|
||
pnpm prepare --${{ matrix.arch }}
|
||
- name: Build
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: pnpm build:win --${{ matrix.arch }}
|
||
- name: Add Portable Flag
|
||
run: |
|
||
New-Item -Path "PORTABLE" -ItemType File
|
||
Get-ChildItem dist/*portable.7z | ForEach-Object {
|
||
7z a $_.FullName PORTABLE
|
||
}
|
||
- name: Generate checksums
|
||
run: pnpm checksum setup.exe portable.7z
|
||
- name: Upload Artifacts
|
||
if: startsWith(github.ref, 'refs/heads/')
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: Windows ${{ matrix.arch }}
|
||
path: |
|
||
dist/*.sha256
|
||
dist/*setup.exe
|
||
dist/*portable.7z
|
||
if-no-files-found: error
|
||
- name: Publish Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*setup.exe
|
||
dist/*portable.7z
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
- name: Publish Dev Release
|
||
if: github.event_name == 'workflow_dispatch'
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
tag_name: dev
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*setup.exe
|
||
dist/*portable.7z
|
||
prerelease: true
|
||
draft: false
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
||
windows7:
|
||
needs: [cleanup-dev-release]
|
||
if: always() && (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch')
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
arch:
|
||
- x64
|
||
- ia32
|
||
runs-on: windows-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup pnpm
|
||
run: npm install -g pnpm
|
||
- name: Install Dependencies
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: |
|
||
pnpm install
|
||
pnpm add @mihomo-party/sysproxy-win32-${{ matrix.arch }}-msvc
|
||
pnpm add -D electron@22.3.27
|
||
(Get-Content electron-builder.yml) -replace 'windows', 'win7' | Set-Content electron-builder.yml
|
||
pnpm prepare --${{ matrix.arch }}
|
||
- name: Build
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: pnpm build:win --${{ matrix.arch }}
|
||
- name: Add Portable Flag
|
||
run: |
|
||
New-Item -Path "PORTABLE" -ItemType File
|
||
Get-ChildItem dist/*portable.7z | ForEach-Object {
|
||
7z a $_.FullName PORTABLE
|
||
}
|
||
- name: Generate checksums
|
||
run: pnpm checksum setup.exe portable.7z
|
||
- name: Upload Artifacts
|
||
if: startsWith(github.ref, 'refs/heads/')
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: Win7 ${{ matrix.arch }}
|
||
path: |
|
||
dist/*.sha256
|
||
dist/*setup.exe
|
||
dist/*portable.7z
|
||
if-no-files-found: error
|
||
- name: Publish Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*setup.exe
|
||
dist/*portable.7z
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
- name: Publish Dev Release
|
||
if: github.event_name == 'workflow_dispatch'
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
tag_name: dev
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*setup.exe
|
||
dist/*portable.7z
|
||
prerelease: true
|
||
draft: false
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
||
linux:
|
||
needs: [cleanup-dev-release]
|
||
if: always() && (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch')
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
arch:
|
||
- x64
|
||
- arm64
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup pnpm
|
||
run: npm install -g pnpm
|
||
- name: Install Dependencies
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: |
|
||
pnpm install
|
||
pnpm add @mihomo-party/sysproxy-linux-${{ matrix.arch }}-gnu
|
||
sed -i "s/productName: Clash Party/productName: mihomo-party/" electron-builder.yml
|
||
pnpm prepare --${{ matrix.arch }}
|
||
- name: Build
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: pnpm build:linux --${{ matrix.arch }}
|
||
- name: Generate checksums
|
||
run: pnpm checksum .deb .rpm
|
||
- name: Upload Artifacts
|
||
if: startsWith(github.ref, 'refs/heads/')
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: Linux ${{ matrix.arch }}
|
||
path: |
|
||
dist/*.sha256
|
||
dist/*.deb
|
||
dist/*.rpm
|
||
if-no-files-found: error
|
||
- name: Publish Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*.deb
|
||
dist/*.rpm
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
- name: Publish Dev Release
|
||
if: github.event_name == 'workflow_dispatch'
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
tag_name: dev
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*.deb
|
||
dist/*.rpm
|
||
prerelease: true
|
||
draft: false
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
||
macos:
|
||
needs: [cleanup-dev-release]
|
||
if: always() && (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch')
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
arch:
|
||
- x64
|
||
- arm64
|
||
runs-on: macos-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup pnpm
|
||
run: npm install -g pnpm
|
||
- name: Install Dependencies
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: |
|
||
pnpm install
|
||
pnpm add @mihomo-party/sysproxy-darwin-${{ matrix.arch }}
|
||
pnpm prepare --${{ matrix.arch }}
|
||
- name: Build
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||
CSC_LINK: ${{ secrets.CSC_LINK }}
|
||
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
||
run: |
|
||
chmod +x build/pkg-scripts/postinstall build/pkg-scripts/preinstall
|
||
pnpm build:mac --${{ matrix.arch }}
|
||
- name: Setup temporary installer signing keychain
|
||
uses: apple-actions/import-codesign-certs@v3
|
||
with:
|
||
p12-file-base64: ${{ secrets.CSC_INSTALLER_LINK }}
|
||
p12-password: ${{ secrets.CSC_INSTALLER_KEY_PASSWORD }}
|
||
- name: Sign the Apple pkg
|
||
run: |
|
||
for pkg_name in $(ls -1 dist/*.pkg); do
|
||
pkg_name=$(ls -1 dist/*.pkg)
|
||
mv $pkg_name Unsigned-Workbench.pkg
|
||
productsign --sign "Developer ID Installer: Prometheus Advertising Corp (489PDK5LP3)" Unsigned-Workbench.pkg $pkg_name
|
||
rm -f Unsigned-Workbench.pkg
|
||
xcrun notarytool submit $pkg_name --apple-id $APPLE_ID --team-id $APPLE_TEAM_ID --password $APPLE_APP_SPECIFIC_PASSWORD --wait
|
||
done
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||
- name: Generate checksums
|
||
run: pnpm checksum .pkg
|
||
- name: Upload Artifacts
|
||
if: startsWith(github.ref, 'refs/heads/')
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: MacOS ${{ matrix.arch }}
|
||
path: |
|
||
dist/*.sha256
|
||
dist/*.pkg
|
||
if-no-files-found: error
|
||
- name: Publish Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*.pkg
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
- name: Publish Dev Release
|
||
if: github.event_name == 'workflow_dispatch'
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
tag_name: dev
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*.pkg
|
||
prerelease: true
|
||
draft: false
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
||
macos10:
|
||
needs: [cleanup-dev-release]
|
||
if: always() && (startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch')
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
arch:
|
||
- x64
|
||
- arm64
|
||
runs-on: macos-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup pnpm
|
||
run: npm install -g pnpm
|
||
- name: Install Dependencies
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
run: |
|
||
pnpm install
|
||
pnpm add @mihomo-party/sysproxy-darwin-${{ matrix.arch }}
|
||
pnpm add -D electron@32.2.2
|
||
pnpm prepare --${{ matrix.arch }}
|
||
- name: Build
|
||
env:
|
||
npm_config_arch: ${{ matrix.arch }}
|
||
npm_config_target_arch: ${{ matrix.arch }}
|
||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||
CSC_LINK: ${{ secrets.CSC_LINK }}
|
||
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
||
run: |
|
||
sed -i "" -e "s/macos/catalina/" electron-builder.yml
|
||
chmod +x build/pkg-scripts/postinstall build/pkg-scripts/preinstall
|
||
pnpm build:mac --${{ matrix.arch }}
|
||
- name: Setup temporary installer signing keychain
|
||
uses: apple-actions/import-codesign-certs@v3
|
||
with:
|
||
p12-file-base64: ${{ secrets.CSC_INSTALLER_LINK }}
|
||
p12-password: ${{ secrets.CSC_INSTALLER_KEY_PASSWORD }}
|
||
- name: Sign the Apple pkg
|
||
run: |
|
||
for pkg_name in $(ls -1 dist/*.pkg); do
|
||
pkg_name=$(ls -1 dist/*.pkg)
|
||
mv $pkg_name Unsigned-Workbench.pkg
|
||
productsign --sign "Developer ID Installer: Prometheus Advertising Corp (489PDK5LP3)" Unsigned-Workbench.pkg $pkg_name
|
||
rm -f Unsigned-Workbench.pkg
|
||
xcrun notarytool submit $pkg_name --apple-id $APPLE_ID --team-id $APPLE_TEAM_ID --password $APPLE_APP_SPECIFIC_PASSWORD --wait
|
||
done
|
||
env:
|
||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||
- name: Generate checksums
|
||
run: pnpm checksum .pkg
|
||
- name: Upload Artifacts
|
||
if: startsWith(github.ref, 'refs/heads/')
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: Catalina ${{ matrix.arch }}
|
||
path: |
|
||
dist/*.sha256
|
||
dist/*.pkg
|
||
if-no-files-found: error
|
||
- name: Publish Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*.pkg
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
- name: Publish Dev Release
|
||
if: github.event_name == 'workflow_dispatch'
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
tag_name: dev
|
||
files: |
|
||
dist/*.sha256
|
||
dist/*.pkg
|
||
prerelease: true
|
||
draft: false
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
||
updater:
|
||
if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch'
|
||
needs: [windows, windows7, linux, macos, macos10]
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Setup pnpm
|
||
run: npm install -g pnpm
|
||
- name: Install Dependencies
|
||
run: pnpm install
|
||
- name: Telegram Notification
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
env:
|
||
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||
RELEASE_TYPE: release
|
||
run: pnpm telegram
|
||
- name: Telegram Dev Notification
|
||
if: github.event_name == 'workflow_dispatch'
|
||
env:
|
||
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|
||
GITHUB_SHA: ${{ github.sha }}
|
||
RELEASE_TYPE: dev
|
||
run: pnpm telegram:dev
|
||
- name: Generate latest.yml
|
||
run: pnpm updater
|
||
- name: Publish Release
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
files: latest.yml
|
||
body_path: changelog.md
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
- name: Publish Dev Release
|
||
if: github.event_name == 'workflow_dispatch'
|
||
uses: softprops/action-gh-release@v2
|
||
with:
|
||
tag_name: dev
|
||
files: latest.yml
|
||
body_path: changelog.md
|
||
prerelease: true
|
||
draft: false
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
|
||
aur-release-updater:
|
||
strategy:
|
||
fail-fast: false
|
||
matrix:
|
||
pkgname:
|
||
- mihomo-party-electron-bin
|
||
- mihomo-party-electron
|
||
- mihomo-party-bin
|
||
- mihomo-party
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
needs: linux
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
- name: Update Version
|
||
run: |
|
||
sed -i "s/pkgver=.*/pkgver=$(echo ${{ github.ref }} | tr -d 'refs/tags/v')/" aur/${{ matrix.pkgname }}/PKGBUILD
|
||
- name: Update Checksums
|
||
if: matrix.pkgname == 'mihomo-party' || matrix.pkgname == 'mihomo-party-electron'
|
||
run: |
|
||
wget https://github.com/mihomo-party-org/mihomo-party/archive/refs/tags/$(echo ${{ github.ref }} | tr -d 'refs/tags/').tar.gz -O release.tar.gz
|
||
sed -i "s/sha256sums=.*/sha256sums=(\"$(sha256sum ./release.tar.gz | awk '{print $1}')\"/" aur/mihomo-party/PKGBUILD
|
||
sed -i "s/sha256sums=.*/sha256sums=(\"$(sha256sum ./release.tar.gz | awk '{print $1}')\"/" aur/mihomo-party-electron/PKGBUILD
|
||
- name: Update Checksums
|
||
if: matrix.pkgname == 'mihomo-party-bin' || matrix.pkgname == 'mihomo-party-electron-bin'
|
||
run: |
|
||
wget https://github.com/mihomo-party-org/mihomo-party/releases/download/$(echo ${{ github.ref }} | tr -d 'refs/tags/')/mihomo-party-linux-$(echo ${{ github.ref }} | tr -d 'refs/tags/v')-amd64.deb -O amd64.deb
|
||
wget https://github.com/mihomo-party-org/mihomo-party/releases/download/$(echo ${{ github.ref }} | tr -d 'refs/tags/')/mihomo-party-linux-$(echo ${{ github.ref }} | tr -d 'refs/tags/v')-arm64.deb -O arm64.deb
|
||
sed -i "s/sha256sums_x86_64=.*/sha256sums_x86_64=(\"$(sha256sum ./amd64.deb | awk '{print $1}')\")/" aur/mihomo-party-bin/PKGBUILD
|
||
sed -i "s/sha256sums_aarch64=.*/sha256sums_aarch64=(\"$(sha256sum ./arm64.deb | awk '{print $1}')\")/" aur/mihomo-party-bin/PKGBUILD
|
||
sed -i "s/sha256sums_x86_64=.*/sha256sums_x86_64=(\"$(sha256sum ./amd64.deb | awk '{print $1}')\")/" aur/mihomo-party-electron-bin/PKGBUILD
|
||
sed -i "s/sha256sums_aarch64=.*/sha256sums_aarch64=(\"$(sha256sum ./arm64.deb | awk '{print $1}')\")/" aur/mihomo-party-electron-bin/PKGBUILD
|
||
- name: Publish AUR package
|
||
uses: KSXGitHub/github-actions-deploy-aur@v2.7.2
|
||
with:
|
||
pkgname: ${{ matrix.pkgname }}
|
||
pkgbuild: aur/${{ matrix.pkgname }}/PKGBUILD
|
||
commit_username: pompurin404
|
||
commit_email: pompurin404@mihomo.party
|
||
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||
commit_message: Update AUR package
|
||
ssh_keyscan_types: rsa,ed25519
|
||
allow_empty_commits: false
|
||
|
||
aur-git-updater:
|
||
if: startsWith(github.ref, 'refs/heads/')
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
with:
|
||
fetch-depth: 0
|
||
- name: update version
|
||
run: |
|
||
sed -i "s/pkgver=.*/pkgver=$(git describe --long 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' | tr -d 'v')/" aur/mihomo-party-git/PKGBUILD
|
||
- name: Publish AUR package
|
||
uses: KSXGitHub/github-actions-deploy-aur@v2.7.2
|
||
with:
|
||
pkgname: mihomo-party-git
|
||
pkgbuild: aur/mihomo-party-git/PKGBUILD
|
||
commit_username: pompurin404
|
||
commit_email: pompurin404@mihomo.party
|
||
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||
commit_message: Update AUR package
|
||
ssh_keyscan_types: rsa,ed25519
|
||
allow_empty_commits: false
|
||
|
||
winget:
|
||
if: startsWith(github.ref, 'refs/tags/v')
|
||
name: Update WinGet Package
|
||
needs: windows
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: Get Tag Name
|
||
run: echo "VERSION=$(echo ${{ github.ref }} | tr -d 'refs/tags/v')" >> $GITHUB_ENV
|
||
- name: Submit to Winget
|
||
uses: vedantmgoyal9/winget-releaser@main
|
||
with:
|
||
identifier: Mihomo-Party.Mihomo-Party
|
||
version: ${{env.VERSION}}
|
||
release-tag: v${{env.VERSION}}
|
||
installers-regex: 'clash-party-windows-.*setup\.exe$'
|
||
token: ${{ secrets.POMPURIN404_TOKEN }}
|