mirror of
https://gitlab.com/ykkzde/posy-cursors
synced 2024-10-27 20:44:10 +00:00
117 lines
4.4 KiB
YAML
117 lines
4.4 KiB
YAML
# GitLab CI configuration for ffsend builds, tests and releases
|
|
#
|
|
# To add a new release:
|
|
# - configure a new 'build-*' job with the proper target
|
|
# - export a build artifact from the new job
|
|
# - manually upload artifact to GitHub in the 'github-release' job
|
|
|
|
stages:
|
|
- package
|
|
|
|
# AUR packages release
|
|
package-aur:
|
|
image: archlinux/base
|
|
stage: package
|
|
# needs:
|
|
# - release-github
|
|
dependencies: []
|
|
only:
|
|
- /^v(\d+\.)*\d+$/
|
|
before_script: []
|
|
script:
|
|
- cd ./pkg/aur
|
|
|
|
# Determine the version number we're releasing for
|
|
- VERSION=$(echo $CI_COMMIT_REF_NAME | cut -c 2-)
|
|
- echo "Determined binary version number 'v$VERSION'"
|
|
|
|
# Determine remote URLs and SHA checksums
|
|
- echo "Determining SHA checksums for remote files..."
|
|
- URL_SOURCE=https://git.auteiy.me/dmitry/cursorsPosy/-/archive/v$VERSION/cursorsPosy-v$VERSION.tar.gz?path=themes
|
|
- 'echo "Selected source URL: $URL_SOURCE"'
|
|
- echo "Determining sha256sum for remote source..."
|
|
- 'SHA_SOURCE=$(curl -sSL "$URL_SOURCE" | sha256sum | cut -d" " -f1)'
|
|
- 'echo "Got sha256sum: $SHA_SOURCE"'
|
|
|
|
# Update PKGBUILD parameters: version, source URL and SHA sum
|
|
- echo "Updating PKGBUILDS with release information..."
|
|
- sed "s/^pkgver=.*\$/pkgver=$VERSION/" -i posy-cursors/PKGBUILD
|
|
- sed "s/^source=(\"\(.*\)::.*\").*\$/source=(\"\1::$(echo $URL_SOURCE | sed 's/\//\\\//g')\")/" -i posy-cursors/PKGBUILD
|
|
- sed "s/^sha256sums=.*\$/sha256sums=('$SHA_SOURCE')/" -i posy-cursors/PKGBUILD
|
|
|
|
# Get SHA hash for local and remote file w/o version, update if it has changed
|
|
# - 'SHA_STRIP_LOCAL=$(cat ffsend-git/PKGBUILD | sed /^pkgver=.\*/d | sha256sum | cut -d" " -f1)'
|
|
# - 'SHA_STRIP_REMOTE=$(curl -sSL "https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=ffsend-git" | sed /^pkgver=.\*/d | sha256sum | cut -d" " -f1)'
|
|
|
|
# Install dependencies
|
|
- echo "Installing required build packages..."
|
|
- pacman -Syu --noconfirm sudo base-devel openssh git openssl
|
|
|
|
# Make AUR package
|
|
- mkdir -p /.cargo
|
|
- chmod -R 777 /.cargo
|
|
- cd posy-cursors/
|
|
- echo "Making main source package..."
|
|
- sudo -u nobody makepkg -c
|
|
- sudo -u nobody makepkg --printsrcinfo > .SRCINFO
|
|
# Make git package if different than the remote
|
|
# - |
|
|
# if [ ! "$SHA_STRIP_LOCAL" == "$SHA_STRIP_REMOTE" ]; then
|
|
# cd ../ffsend-git
|
|
# echo "Making git source package..."
|
|
# sudo -u nobody makepkg -c
|
|
# sudo -u nobody makepkg --printsrcinfo > .SRCINFO
|
|
# else
|
|
# echo "Not making git source package, it has not changed"
|
|
# fi
|
|
- cd ..
|
|
|
|
# Set up SSH for publishing
|
|
- mkdir -p /root/.ssh
|
|
- cp ./aur.pub /root/.ssh/id_rsa.pub
|
|
- cat "$AUR_SSH_PRIVATE" | base64 -d > /root/.ssh/id_rsa
|
|
- echo "Host aur.archlinux.org" >> /root/.ssh/config
|
|
- echo " IdentityFile /root/.ssh/aur" >> /root/.ssh/config
|
|
- echo " User aur" >> /root/.ssh/config
|
|
- chmod 600 /root/.ssh/{id_rsa*,config}
|
|
- eval `ssh-agent -s`
|
|
- ssh-add /root/.ssh/id_rsa
|
|
- ssh-keyscan -H aur.archlinux.org >> /root/.ssh/known_hosts
|
|
- git config --global user.name "Dmitry Porunov"
|
|
- git config --global user.email "dmitry@auteiy.me"
|
|
|
|
# Publish main package: clone AUR repo, commit update and push
|
|
- git clone ssh://aur@aur.archlinux.org/posy-cursors.git aur-posy-cursors
|
|
- cd aur-posy-cursors
|
|
- cp ../posy-cursors/{PKGBUILD,.SRCINFO} ./
|
|
- git add PKGBUILD .SRCINFO
|
|
- git commit -m "Release v$VERSION"
|
|
- git push
|
|
- cd ..
|
|
|
|
# Publish binary package: clone AUR repo, commit update and push
|
|
# - git clone ssh://aur@aur.archlinux.org/ffsend-bin.git aur-ffsend-bin
|
|
# - cd aur-ffsend-bin
|
|
# - cp ../ffsend-bin/{PKGBUILD,.SRCINFO} ./
|
|
# - git add PKGBUILD .SRCINFO
|
|
# - git commit -m "Release v$VERSION"
|
|
# - git push
|
|
# - cd ..
|
|
|
|
# Publish git package: clone AUR repo, commit update and push
|
|
# Only publish it if it is different than the remote
|
|
# - |
|
|
# if [ ! "$SHA_STRIP_LOCAL" == "$SHA_STRIP_REMOTE" ]; then
|
|
# git clone ssh://aur@aur.archlinux.org/ffsend-git.git aur-ffsend-git
|
|
# cd aur-ffsend-git
|
|
# cp ../ffsend-git/{PKGBUILD,.SRCINFO} ./
|
|
# git add PKGBUILD .SRCINFO
|
|
# git commit -m "Update PKGBUILD for release v$VERSION"
|
|
# git push
|
|
# cd ..
|
|
# else
|
|
# echo "Not pushing git package, it has not changed"
|
|
# fi
|
|
|
|
# TODO: add job to test ffsend{-git} AUR packages
|