#!/usr/bin/env bash

_check_update() {
  local _url _response _tag _pkgver CI_PACKAGE_BUMP _pkgver_new
  _pkgver=$(LC_ALL=C pacman -Si chaotic-aur/pamac | grep -Pom1 '^Version\s+:\s+\K\S+')

  CI_PACKAGE_BUMP="$_pkgver"
  eval "$(grep -Eom1 '^CI_PACKAGE_BUMP=\S+$' .CI/config | sed 's&/&.&g')"

  _url="https://github.com/manjaro/pamac"
  _response=$(curl -Ssf "$_url/releases.atom")
  _tag=$(
    printf '%s' "$_response" \
      | grep '"https://.*/releases/tag/.*"' \
      | sed -E 's@^.*/releases/tag/v?(.*)".*$@\1@' \
      | grep -Ev '[a-z]{2}' | sort -rV | head -1
  )
  _pkgver_new="${_tag#v}"

  if [ $(vercmp "${_pkgver_new:?}" "$_pkgver") -ge 0 ]; then
    echo "New upstream release.  $_pkgver_new >= $_pkgver"
  elif [ $(vercmp "$CI_PACKAGE_BUMP" "$_pkgver") -ge 0 ]; then
    echo "Continuing build.  $CI_PACKAGE_BUMP >= $_pkgver"
  else
    echo "Skipping build.  $_pkgver >= $_pkgver_new"
    return "$CI_CODE_SKIP"
  fi
}

_check_update || return $?
