mirror of https://github.com/k3d-io/k3d
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Setup base system
|
|
pacman -Syu --noconfirm openssh git gettext binutils archlinux-keyring
|
|
sed -i "s/INTEGRITY_CHECK=.*$/INTEGRITY_CHECK=(sha256)/" /etc/makepkg.conf
|
|
useradd -ms /bin/bash aur
|
|
su -m aur <<'EOSU'
|
|
|
|
set -e
|
|
|
|
# Configuration
|
|
export HOME=/home/aur
|
|
export REPO_URL="ssh://aur@aur.archlinux.org/$PACKAGE_NAME.git"
|
|
export NEW_RELEASE="${COMMIT_REF##*/v}"
|
|
export COMMIT_MESSAGE="$(echo $COMMIT_MESSAGE | envsubst)"
|
|
echo "---------------- AUR Package version $PACKAGE_NAME/$NEW_RELEASE ----------------"
|
|
|
|
# SSH & GIT Setup
|
|
mkdir "$HOME/.ssh" && chmod 700 "$HOME/.ssh"
|
|
ssh-keyscan -t ed25519 aur.archlinux.org >> "$HOME/.ssh/known_hosts"
|
|
echo -e "$SSH_PRIVATE_KEY" | base64 -d > "$HOME/.ssh/id_rsa"
|
|
chmod 600 "$HOME/.ssh/id_rsa"
|
|
git config --global user.name "$COMMIT_USERNAME"
|
|
git config --global user.email "$COMMIT_EMAIL"
|
|
|
|
# Clone AUR Package
|
|
cd /tmp
|
|
echo "$REPO_URL"
|
|
git clone "$REPO_URL"
|
|
cd "$PACKAGE_NAME"
|
|
|
|
# Generate a dummy PKGBUILD so we can grab the latest releases SHA256SUMS
|
|
cat PKGBUILD.template | envsubst '$NEW_RELEASE' > PKGBUILD
|
|
|
|
export SHA256_SUMS_x86_64="$(CARCH=x86_64 makepkg -g 2> /dev/null)"
|
|
echo "SHA256_SUMS_x86_64: $SHA256_SUMS_x86_64"
|
|
|
|
export SHA256_SUMS_aarch64="$(CARCH=aarch64 makepkg -g 2> /dev/null)"
|
|
echo "SHA256_SUMS_aarch64: $SHA256_SUMS_aarch64"
|
|
|
|
export SHA256_SUMS_arm="$(CARCH=arm makepkg -g 2> /dev/null)"
|
|
echo "SHA256_SUMS_arm: $SHA256_SUMS_arm"
|
|
|
|
cat PKGBUILD.template | envsubst '$NEW_RELEASE$SHA256_SUMS_x86_64$SHA256_SUMS_aarch64$SHA256_SUMS_arm' > PKGBUILD
|
|
makepkg --printsrcinfo > .SRCINFO
|
|
|
|
echo "------------- BUILD DONE ----------------"
|
|
git add PKGBUILD .SRCINFO
|
|
git commit -m "$COMMIT_MESSAGE"
|
|
git push
|
|
echo "------------- PUBLISH DONE ----------------"
|
|
EOSU
|
|
|