Files
oddmuse/scripts/alexine/new-release
Aleks-Daniel Jakimenko-Aleksejev e493652e96 Alexine updates according to the new directory structure
Also, use 8 threads for 「make test」
2015-10-21 05:39:05 +03:00

46 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Copyright (C) 2015 Alex-Daniel Jakimenko <alex.jakimenko@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set -e
RELEASE_LOCK='../data/releaselock'
ODDMUSE_LOCATION='../data/oddmuse-for-releases/'
WIKIPUT='../config/oddmuse/scripts/cli/wikiput'
WIKI_LOCATION='https://oddmuse.org/wiki/'
USER_NAME='Alexine'
clean() {
rmdir -- "$RELEASE_LOCK"
}
[[ -d $ODDMUSE_LOCATION ]] || git clone -- 'https://github.com/kensanata/oddmuse.git' "$ODDMUSE_LOCATION"
if mkdir -- "$RELEASE_LOCK"; then # only one instance running
trap clean EXIT
else
exit 0
fi
git=('git' '--git-dir' "$ODDMUSE_LOCATION/.git" '--work-tree' "$ODDMUSE_LOCATION")
"${git[@]}" fetch # get latest changes
"${git[@]}" reset --hard origin/master # move to the last commit
# lastRelease=$("${git[@]}" tag -l --sort='-version:refname' | head -n 1) # old git versions can't do that
lastRelease=$("${git[@]}" tag -l | sort -rV | head -n 1)
pageText=$(curl -- "$WIKI_LOCATION/Local_Intermap?raw=1")
"$WIKIPUT" -u "$USER_NAME" -s 'New release' -z 'ham' "$WIKI_LOCATION/Local_Intermap" < <(sed 's/[0-9]\+\.[0-9]\+\.[0-9]\+'"/$lastRelease/g" <<< "$pageText")