@@ -144,3 +144,71 @@ jobs:
144144 git add Formula/jcode.rb
145145 git commit -m "Update to ${VERSION}" || echo "No changes"
146146 git push
147+
148+ - name : Update AUR package
149+ if : ${{ secrets.AUR_SSH_KEY != '' }}
150+ env :
151+ AUR_SSH_KEY : ${{ secrets.AUR_SSH_KEY }}
152+ run : |
153+ VERSION="${GITHUB_REF_NAME}"
154+ VERSION_NUM="${VERSION#v}"
155+
156+ LINUX_SHA=$(sha256sum artifacts/jcode-linux-x86_64/jcode-linux-x86_64.tar.gz | cut -d' ' -f1)
157+ LINUX_URL="https://github.com/1jehuang/jcode/releases/download/${VERSION}/jcode-linux-x86_64.tar.gz"
158+
159+ mkdir -p ~/.ssh
160+ echo "$AUR_SSH_KEY" > ~/.ssh/aur_key
161+ chmod 600 ~/.ssh/aur_key
162+ echo -e "Host aur.archlinux.org\n IdentityFile ~/.ssh/aur_key\n User aur\n StrictHostKeyChecking no" >> ~/.ssh/config
163+
164+ git clone ssh://aur@aur.archlinux.org/jcode-bin.git /tmp/jcode-aur
165+
166+ cat > /tmp/jcode-aur/PKGBUILD << 'PKGBUILD_END'
167+ # Maintainer: Jeremy Huang <jeremyhuang55555@gmail.com>
168+ pkgname=jcode-bin
169+ pkgver=VERSION_PLACEHOLDER
170+ pkgrel=1
171+ pkgdesc="AI coding agent powered by Claude and ChatGPT"
172+ arch=('x86_64')
173+ url="https://github.com/1jehuang/jcode"
174+ license=('MIT')
175+ provides=('jcode')
176+ conflicts=('jcode')
177+ source=("URL_PLACEHOLDER")
178+ sha256sums=('SHA_PLACEHOLDER')
179+
180+ package() {
181+ install -Dm755 "${srcdir}/jcode-linux-x86_64" "${pkgdir}/usr/bin/jcode"
182+ }
183+ PKGBUILD_END
184+
185+ sed -i "s|VERSION_PLACEHOLDER|${VERSION_NUM}|" /tmp/jcode-aur/PKGBUILD
186+ sed -i "s|URL_PLACEHOLDER|${LINUX_URL}|" /tmp/jcode-aur/PKGBUILD
187+ sed -i "s|SHA_PLACEHOLDER|${LINUX_SHA}|" /tmp/jcode-aur/PKGBUILD
188+ sed -i 's/^ //' /tmp/jcode-aur/PKGBUILD
189+
190+ # Generate .SRCINFO without makepkg
191+ cat > /tmp/jcode-aur/.SRCINFO << SRCINFO
192+ pkgbase = jcode-bin
193+ pkgdesc = AI coding agent powered by Claude and ChatGPT
194+ pkgver = ${VERSION_NUM}
195+ pkgrel = 1
196+ url = https://github.com/1jehuang/jcode
197+ arch = x86_64
198+ license = MIT
199+ provides = jcode
200+ conflicts = jcode
201+ source = ${LINUX_URL}
202+ sha256sums = ${LINUX_SHA}
203+
204+ pkgname = jcode-bin
205+ SRCINFO
206+
207+ sed -i 's/^ //' /tmp/jcode-aur/.SRCINFO
208+
209+ cd /tmp/jcode-aur
210+ git config user.name "Jeremy Huang"
211+ git config user.email "jeremyhuang55555@gmail.com"
212+ git add PKGBUILD .SRCINFO
213+ git commit -m "Update to ${VERSION}" || echo "No changes"
214+ git push
0 commit comments