66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
name: Publish to AUR
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: archlinux:latest
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
pacman -Syu --noconfirm --needed git openssh pacman-contrib base-devel sudo
|
|
useradd -m builder
|
|
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
|
|
- name: Checkout source
|
|
run: |
|
|
git clone --depth 1 --branch ${{ gitea.ref_name }} \
|
|
http://gitea-actions:${{ gitea.token }}@gitea:3030/${{ gitea.repository }}.git .
|
|
|
|
- name: Configure SSH for AUR
|
|
env:
|
|
AUR_SSH_KEY: ${{ secrets.AUR_SSH_KEY }}
|
|
run: |
|
|
install -dm700 ~/.ssh
|
|
printf '%s\n' "$AUR_SSH_KEY" > ~/.ssh/aur
|
|
chmod 600 ~/.ssh/aur
|
|
ssh-keyscan aur.archlinux.org >> ~/.ssh/known_hosts 2>/dev/null
|
|
cat > ~/.ssh/config <<EOF
|
|
Host aur.archlinux.org
|
|
User aur
|
|
IdentityFile ~/.ssh/aur
|
|
IdentitiesOnly yes
|
|
EOF
|
|
chmod 600 ~/.ssh/config
|
|
|
|
- name: Clone AUR repository
|
|
run: git clone ssh://aur@aur.archlinux.org/omni-launcher.git /tmp/aur
|
|
|
|
- name: Regenerate .SRCINFO and copy files
|
|
run: |
|
|
cp PKGBUILD /tmp/aur/PKGBUILD
|
|
chown -R builder:builder /tmp/aur
|
|
sudo -u builder bash -c 'cd /tmp/aur && makepkg --printsrcinfo > .SRCINFO'
|
|
|
|
- name: Commit and push to AUR
|
|
run: |
|
|
cd /tmp/aur
|
|
git config user.name "${{ vars.AUR_GIT_NAME || 'Radu Macocian' }}"
|
|
git config user.email "${{ vars.AUR_GIT_EMAIL || 'radu@macocian.com' }}"
|
|
if git diff --quiet && git diff --cached --quiet; then
|
|
echo "No changes to publish."
|
|
exit 0
|
|
fi
|
|
PKGVER=$(awk -F= '/^pkgver=/{print $2}' PKGBUILD)
|
|
PKGREL=$(awk -F= '/^pkgrel=/{print $2}' PKGBUILD)
|
|
git add PKGBUILD .SRCINFO
|
|
git commit -m "Update to ${PKGVER}-${PKGREL}"
|
|
git push origin master
|