diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8305eb9..da9fec4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,43 +9,9 @@ variables: EMAIL: "opensource@mmk2410.org" stages: - - autoupdate - build - deploy -update-job: - stage: autoupdate - script: - ## - ## Install necessary packages. - ## - - apt update && apt install -y git devscripts debhelper libxml2-utils openssh-client - - ## - ## Configure SSH key - ## - - eval $(ssh-agent -s) - - chmod 400 "$SSH_PRIVATE_KEY" - - ssh-add "$SSH_PRIVATE_KEY" - - mkdir ~/.ssh - - chmod 700 ~/.ssh - - cp "$SSH_KNOWN_HOSTS" ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts - - ## - ## Configure Git setup - ## - - git config user.name "$NAME" - - git config user.email "$EMAIL" - - git remote set-url origin "$GIT_URL" - - ## - ## Run autoupdate script which handles everything else. - ## - - ./autoupdate.sh - rules: - - if: $CI_PIPELINE_SOURCE == "schedule" - build-job: stage: build script: diff --git a/autoupdate.sh b/autoupdate.sh index 1386bb7..f4a068b 100755 --- a/autoupdate.sh +++ b/autoupdate.sh @@ -5,10 +5,7 @@ set -euo pipefail dir="$(find . -maxdepth 1 -type d -name "intellij-idea-*")" pushd "$dir" || exit 1 -set +e check="$(uscan --dehs --no-download)" -set -e - status="$(echo "$check" | xmllint --xpath 'string(/dehs/status)' -)" if [[ "$status" != "newer package available" ]]; then @@ -20,14 +17,4 @@ new_version="$(echo "$check" | xmllint --xpath 'string(/dehs/upstream-version)' popd -./update-new-version.sh "$new_version" - -git add -A -git commit -m "Upstream version $new_version" - -git switch main -git merge --ff-only version-"$new_version" -git push origin main - -git tag -a v"$new_version" -m "Upstream version $new_version" -git push --tags origin main +./update-new-version.sh --autoupdate "$new_version" diff --git a/update-new-version.sh b/update-new-version.sh index ec7c5aa..ae416a3 100755 --- a/update-new-version.sh +++ b/update-new-version.sh @@ -1,6 +1,8 @@ -#!/usr/bin/env bash +#!/bin/bash # # This script intends to decrease the effort of updating the package. +# +# Passing "--autoupdate" as first argument triggers automatic Git operations. set -euo pipefail @@ -16,7 +18,14 @@ DISTRIBUTION="lunar" last_tag=$(git describe --abbrev=0 --tags) old="${last_tag#?}" -new="$1" + +if [ "$1" = "--autoupdate" ]; then + new="$2" + autoupdate="y" +else + new="$1" + autoupdate="n" +fi name="$(git config --get user.name)" email="$(git config --get user.email)" @@ -42,3 +51,17 @@ debuild -us -uc cd .. rm "$PACKAGE"_"$old"-* + +if [ "$autoupdate" = "n" ]; then + exit +fi + +git add -A +git commit -m "Upstream version $new" + +git switch main +git merge --ff-only version-"$new" +git push origin main + +git tag -a v"$new" -m "Upstream version $new" +git push --tags origin main