name: Publish to AUR on: push: tags: - 'v*' workflow_dispatch: inputs: tag: description: 'Tag (v开头)' required: false type: string jobs: aur: runs-on: ubuntu-latest container: image: archlinux:latest steps: - name: Install dependencies run: | pacman -Sy --noconfirm git openssh base-devel aurpublish sudo # 创建 builder 用户 useradd -m builder # 允许 builder 无密码 sudo echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers - name: Set up SSH for AUR run: | mkdir -p /home/builder/.ssh echo "${{ secrets.AUR_SSH_PRIVATE_KEY }}" > /home/builder/.ssh/id_ed25519 chmod 600 /home/builder/.ssh/id_ed25519 chmod 700 /home/builder/.ssh # 扫描 host key ssh-keyscan -t ed25519 aur.archlinux.org >> /home/builder/.ssh/known_hosts || true chmod 644 /home/builder/.ssh/known_hosts chown -R builder:builder /home/builder/.ssh - name: Clone AUR repo run: | # 使用 sudo -u builder < .SRCINFO git add PKGBUILD .SRCINFO if ! git diff --cached --quiet; then git commit -m "release: $VERSION" else echo "No changes to commit" fi EOF - name: Publish to AUR with aurpublish run: | sudo -u builder bash <