49 lines
1.5 KiB
Bash
49 lines
1.5 KiB
Bash
|
#!/bin/sh
|
|||
|
# Pleroma: A lightweight social networking server
|
|||
|
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
|||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|||
|
project_id="74"
|
|||
|
project_branch="rebase/glitch-soc"
|
|||
|
static_dir="instance/static"
|
|||
|
# For bundling:
|
|||
|
# project_branch="pleroma"
|
|||
|
# static_dir="priv/static"
|
|||
|
|
|||
|
if [ ! -d "${static_dir}" ]
|
|||
|
then
|
|||
|
echo "Error: ${static_dir} directory is missing, are you sure you are running this script at the root of pleroma’s repository?"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
last_modified="$(curl --fail -s -I 'https://git.pleroma.social/api/v4/projects/'${project_id}'/jobs/artifacts/'${project_branch}'/download?job=build' | grep '^Last-Modified:' | cut -d: -f2-)"
|
|||
|
|
|||
|
echo "branch:${project_branch}"
|
|||
|
echo "Last-Modified:${last_modified}"
|
|||
|
|
|||
|
artifact="mastofe.zip"
|
|||
|
|
|||
|
if [ "${last_modified}x" = "x" ]
|
|||
|
then
|
|||
|
echo "ERROR: Couldn't get the modification date of the latest build archive, maybe it expired, exiting..."
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
if [ -e mastofe.timestamp ] && [ "$(cat mastofe.timestamp)" = "${last_modified}" ]
|
|||
|
then
|
|||
|
echo "MastoFE is up-to-date, exiting..."
|
|||
|
exit 0
|
|||
|
fi
|
|||
|
|
|||
|
curl --fail -c - "https://git.pleroma.social/api/v4/projects/${project_id}/jobs/artifacts/${project_branch}/download?job=build" -o "${artifact}" || exit
|
|||
|
|
|||
|
# TODO: Update the emoji as well
|
|||
|
rm -fr "${static_dir}/sw.js" "${static_dir}/packs" || exit
|
|||
|
unzip -q "${artifact}" || exit
|
|||
|
|
|||
|
cp public/assets/sw.js "${static_dir}/sw.js" || exit
|
|||
|
cp -r public/packs "${static_dir}/packs" || exit
|
|||
|
|
|||
|
echo "${last_modified}" > mastofe.timestamp
|
|||
|
rm -fr public
|
|||
|
rm -i "${artifact}"
|