xeps/tools/ci-archive.sh

35 lines
915 B
Bash

#!/bin/bash
set -euo pipefail
state_dir=state
old_xeplist="$state_dir/old-xeplist.xml"
new_xeplist="build/xeplist.xml"
mkdir -p "$state_dir"
function update_state() {
cp "$new_xeplist" "$old_xeplist"
}
if [ ! -f "$old_xeplist" ]; then
printf '%q does not exist; assuming this is the first run!' "$old_xeplist" >&2
update_state
exit 0
fi
chmod 0600 "$ATTIC_ID_RSA"
export GIT_SSH_COMMAND="ssh -i \"\$ATTIC_ID_RSA\" -o StrictHostKeyChecking=no"
git clone git@gitlab.com:xsf/xep-attic
python3 tools/archive.py -a xep-attic/content/ --no-build "$old_xeplist" "$new_xeplist"
pushd xep-attic
git add content
git update-index --refresh
if ! git diff-index --quiet HEAD --; then
git config user.name "$GIT_AUTHOR_NAME"
git config user.email "$GIT_AUTHOR_EMAIL"
git commit \
-m "Automated XEP build ${CI_JOB_ID}" \
-m "Job-URL: ${CI_JOB_URL}"
git push
fi
popd
update_state