-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
105 lines (89 loc) · 4.01 KB
/
auto_aur_release_stable.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
name: Upload to AUR
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check tag aka check release type
id: checktag
run: |
if [[ "${{ github.ref }}" == *"dev"* ]]; then
echo "Skip the workflow as the tag contains 'dev'"
echo "::set-output name=skip::true"
else
echo "Continue the workflow"
echo "::set-output name=skip::false"
fi
shell: bash
- name: Extract tag name
id: get_version
run: echo ::set-output name=TAG_VERSION::${{ github.event.release.tag_name }}
- name: Extra tag name without v
id: get_version_without_v
run: echo ::set-output name=TAG_VERSION_WITHOUT_V::$(echo "${{ github.event.release.tag_name }}" | sed 's/^v//')
- name: Create PKGBUILD
run: |
cat << EOF >> PKGBUILD
# maintainer: zxkmm (IHp4a21tQGhvdG1haWwuY29t)
# auto running on siyuan official repo
# PKGBUILD is modified from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=siyuan-appimage
# which is made by vvxxp8 <concatenate[g] the characters[x] in square[b] brackets[1] in[5] order[3] at gmail dot com>
# had agreement with the author to use the PKGBUILD
# for change request, PLEASE MAKE A PR ON GITHUB REPO, keep commenting here would be ignored
pkgname=siyuan-bin
pkgver=${{ steps.get_version_without_v.outputs.TAG_VERSION_WITHOUT_V }}
pkgrel=1
pkgdesc="auto upload to AUR when SiYuan stable release"
arch=("x86_64")
url="https://b3log.org/siyuan"
license=("AGPL-3.0-only")
options=("!strip" "!debug")
depends=("fuse2")
optdepends=('pandoc: docx export')
source=("https://github.com/siyuan-note/siyuan/releases/download/v\${pkgver}/siyuan-\${pkgver}-linux.AppImage")
sha256sums=('SKIP')
_pkgname=siyuan-\${pkgver}-linux.AppImage
noextract=("\${_pkgname}")
prepare() {
chmod +x "\${_pkgname}"
./"\${_pkgname}" --appimage-extract > /dev/null
}
build() {
# Adjust .desktop so it will work autside of AppImage container
sed -i \\
-e "s|Exec=AppRun|Exec=/opt/\${pkgname}/\${pkgname}.AppImage|" \\
-e "s+^Icon=.*+Icon=siyuan-bin+" \\
"squashfs-root/siyuan.desktop"
# Fix permissions; .AppImage permissions are 700 for all directories
chmod -R a-x+rX squashfs-root/usr
}
package() {
# AppImage
install -Dm755 "\${srcdir}/\${_pkgname}" "\${pkgdir}/opt/\${pkgname}/\${pkgname}.AppImage"
install -Dm644 "\${srcdir}/squashfs-root/LICENSE" "\${pkgdir}/opt/\${pkgname}/LICENSE"
# Desktop file
install -Dm644 "\${srcdir}/squashfs-root/siyuan.desktop" \\
"\${pkgdir}/usr/share/applications/siyuan.desktop"
# Icon images
install -Dm644 "squashfs-root/resources/stage/icon.png" \\
"\${pkgdir}/usr/share/icons/hicolor/512x512/apps/siyuan-bin.png"
# Symlink executable
install -dm755 "\${pkgdir}/usr/bin"
ln -s "/opt/\${pkgname}/\${pkgname}.AppImage" "\${pkgdir}/usr/bin/siyuan"
# Symlink license
install -dm755 "\${pkgdir}/usr/share/licenses/\${pkgname}/"
ln -s "/opt/\${pkgname}/LICENSE" "\${pkgdir}/usr/share/licenses/\${pkgname}"
}
EOF
- name: Publish AUR package
uses: KSXGitHub/[email protected]
with:
pkgname: siyuan-bin
pkgbuild: ./PKGBUILD
commit_username: ${{ secrets.AUR_USERNAME }}
commit_email: ${{ secrets.AUR_EMAIL }}
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
commit_message: Update AUR package
ssh_keyscan_types: rsa,ecdsa,ed25519