11name : Get Tag from desktop and Push to Aur
2+
23on :
34 repository_dispatch :
4- types : [updata-aur] # 必须匹配 A 发的事件类型
5+ types : [updata-aur]
6+
57jobs :
68 push-to-aur :
79 runs-on : ubuntu-latest
810 steps :
911 - uses : actions/checkout@v4
1012 with :
11- fetch-depth : 0 # 需要历史来创建带文件的 release tag
13+ fetch-depth : 0
1214
13- - name : Update version-match.txt
15+ - name : Update PKGBUILD with pkgver and fullver
1416 run : |
1517 tag="${{ github.event.client_payload.tag }}"
16- version="${tag#v}"
17- echo "$version" >> version-match.txt
18-
19- - name : Update PKGBUILD
20- run : |
21- version="${{ github.event.client_payload.tag }}"
22- version="${version#v}"
23- sed -i "s/^pkgver=.*/pkgver=$version/" PKGBUILD
18+
19+ fullver="${tag#v}"
20+
21+ if [[ "$fullver" != *-* ]]; then
22+ echo "Error: Tag '$tag' does not contain a commit hash suffix (expected format: vX.Y.Z-xxxxxxxx)"
23+ echo "Please ensure the dispatched tag includes a -commit part."
24+ exit 1
25+ fi
26+
27+ pkgver="${fullver%%-*}"
28+
29+ echo "Original tag: $tag"
30+ echo "fullver: $fullver"
31+ echo "pkgver: $pkgver"
32+
33+ sed -i "s/^pkgver=.*/pkgver=$pkgver/" PKGBUILD
34+ sed -i "s/^fullver=.*/fullver=$fullver/" PKGBUILD
2435
2536 - name : Generate .SRCINFO
2637 run : |
2738 docker pull archlinux/archlinux:latest
28- docker run --rm -v "${PWD}":"/pkg" -w "/pkg" archlinux/archlinux:latest /bin/bash -c "pacman -Syu --noconfirm && pacman -S --noconfirm base-devel && makepkg --printsrcinfo > .SRCINFO"
39+ docker run --rm -v "${PWD}":"/pkg" -w "/pkg" archlinux/archlinux:latest \
40+ /bin/bash -c "pacman -Syu --noconfirm && pacman -S --noconfirm base-devel git && makepkg --printsrcinfo > .SRCINFO"
2941
3042 - name : Publish to AUR
3143 uses : KSXGitHub/github-actions-deploy-aur@master
3244 with :
33- pkgname : your-package-name # 替换成你的实际 AUR 包名,例如 yay 或其他
45+ pkgname : 02engine-bin
3446 pkgbuild : ./PKGBUILD
3547 assets : |
3648 .SRCINFO
37- commit_username : ${{ secrets.AUR_USERNAME }}
38- commit_email : ${{ secrets.AUR_EMAIL }}
39- ssh_private_key : ${{ secrets.AUR_SSH_PRIVATE_KEY }}
40- commit_message : Update to ${{ github.event.client_payload.tag }}
41- ssh_keyscan_types : rsa,ecdsa,ed25519
42-
43- - name : Upload version-match.txt to GitHub Release
44- uses : actions/upload-release-asset@v1
45- env :
46- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
47- with :
48- upload_url : https://uploads.github.com/repos/${{ github.repository }}/releases/assets{?name,label}
49- asset_path : ./version-match.txt
50- asset_name : version-match.txt
51- asset_content_type : text/plain
49+ commit_username : ${{ secrets.AUR_USERNAME }}
50+ commit_email : ${{ secrets.AUR_EMAIL }}
51+ ssh_private_key : ${{ secrets.AUR_SSH_PRIVATE_KEY }}
52+ commit_message : Update to ${{ github.event.client_payload.tag }}
53+ ssh_keyscan_types : rsa,ecdsa,ed25519
0 commit comments