Skip to content

.github/workflows/repo-updt.yml #952

.github/workflows/repo-updt.yml

.github/workflows/repo-updt.yml #952

Workflow file for this run

on:
workflow_dispatch: ~
push:
branches:
- "master"
paths:
- ".github/workflows/repo-updt.yml"
schedule:
- cron: "0 */8 * * *"
jobs:
updtpkg:
container: archlinux:base-devel
runs-on: ubuntu-latest
steps:
- run: |-
uname -a
mkdir ~/.ssh -p && cd /etc/pacman.d
echo -e 'Server = https://mirrors.dotsrc.org/archlinux/$repo/os/$arch' >> mirrorlist
echo -e 'Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch' >> mirrorlist
tac mirrorlist > mirrorlist~ && mv mirrorlist{~,} && cd /etc
sed -r 's/^(COMPRESSZST)=.*/\1=(zstdmt -18 -M1024M --long)/' -i makepkg.conf
sed -r 's/^#(MAKEFLAGS)=.*/\1="-j`nproc`"/' -i makepkg.conf
sed -r 's/^#(PACKAGER)=.*/\1="Seele <[email protected]>"/' -i makepkg.conf
pacman-key --init
- run: |-
pacman -Syu --noconfirm git pacman-contrib
sed -r 's/\b(EUID)\s*==\s*0\b/\1 < -0/' -i /bin/makepkg
makepkg --version
- run: pacman -S --noconfirm apt debian-archive-keyring jq openssh
- uses: actions/checkout@v4
with:
persist-credentials: true
token: ${{ secrets.PAT }}
- run: |-
patch -d / -lp1 < makepkg.patch
sed 's/Retries "0"/Retries "3"/' -i /etc/apt/apt.conf
echo 'deb https://deb.debian.org/debian unstable main' >> /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian testing main' >> /etc/apt/sources.list
echo 'deb https://deb.debian.org/debian stable main' >> /etc/apt/sources.list
echo '${{ secrets.SSH_PUB }}' > ~/.ssh/id_ecdsa.pub
echo '${{ secrets.SSH_KEY }}' > ~/.ssh/id_ecdsa
chmod 400 ~/.ssh/** && apt update 2> /dev/null
- run: |-
mkdir .github/packages/iraf-bin -p
cd -- .github/packages/iraf-bin
apt list -a iraf iraf-noao 2> /dev/null || true
apt-cache show iraf/sid iraf-noao/sid | tee package.txt
deb=$(cat package.txt | grep -Pom1 '^Version: \K\S+')
pkg=${deb/~rc/rc} && cd - && cd iraf-bin
ver=$(cat PKGBUILD | grep -Po '^pkgver=\K\S+')
rel=$(cat PKGBUILD | grep -Po '^pkgrel=\K\S+')
[[ ${ver} != ${pkg/[+-]*/} ]] && rel=1 && ver="${pkg/[+-]*/}" ||
[[ ${deb} == $(cat PKGBUILD | grep -Po '^debver=\K\S+') ]] || ((rel++))
sed -re "s/^(debver)=.+/\1=$deb/" -i PKGBUILD
sed -re "s/^(pkgver)=.+/\1=$ver/" -i PKGBUILD
sed -re "s/^(pkgrel)=.+/\1=$rel/" -i PKGBUILD
updpkgsums && makepkg --printsrcinfo > .SRCINFO
- run: |-
mkdir .github/packages/xgterm-bin -p
cd -- .github/packages/xgterm-bin
apt list -a xgterm 2> /dev/null || true
apt-cache show xgterm/sid | tee package.txt
deb=$(cat package.txt | grep -Pom1 '^Version: \K\S+')
pkg=${deb/~rc/rc} && cd - && cd xgterm-bin
ver=$(cat PKGBUILD | grep -Po '^pkgver=\K\S+')
rel=$(cat PKGBUILD | grep -Po '^pkgrel=\K\S+')
[[ ${ver} != ${pkg/[+-]*/} ]] && rel=1 && ver="${pkg/[+-]*/}" ||
[[ ${deb} == $(cat PKGBUILD | grep -Po '^debver=\K\S+') ]] || ((rel++))
sed -re "s/^(debver)=.+/\1=$deb/" -i PKGBUILD
sed -re "s/^(pkgver)=.+/\1=$ver/" -i PKGBUILD
sed -re "s/^(pkgrel)=.+/\1=$rel/" -i PKGBUILD
updpkgsums && makepkg --printsrcinfo > .SRCINFO
- run: |-
git version
git config --global commit.gpgsign true
git config --global gpg.format ssh
git config --global init.defaultbranch master
git config --global log.date iso
git config --global pull.rebase true
git config --global safe.directory "*"
git config --global user.email [email protected]
git config --global user.name Seele
git config --global user.signingkey ~/.ssh/id_ecdsa.pub
git add --all && git commit --allow-empty-message -m $'Update' || true
git pull -ftp && git push |& tee /tmp/push
git rev-parse HEAD | tee /tmp/head
sha=`cat /tmp/head` u=${{ github.api_url }}/repos/${{ github.repository }}/commits/$sha/comments
grep $'Everything up-to-date' /tmp/push -ax && exit
echo @Heptazhou > /tmp/md
echo '```s' >> /tmp/md && git show --stat -w >> /tmp/md
echo '```' >> /tmp/md && cat /tmp/md | jq -Rs $'{ body: . }' > /tmp/md.json
echo $u && curl -LX POST -H 'Authorization: token ${{ secrets.PAT }}' -d @/tmp/md.json $u