Skip to content
Snippets Groups Projects
Commit de8af88c authored by François Grand's avatar François Grand
Browse files

refactor(ci): modify release-version.sh to not update releases.json/symlinks on nightly version

refs #505
parent eac40683
No related branches found
No related tags found
2 merge requests!133Release version 4.15.0,!128Resolve "Transfert du site de production sur OVH"
......@@ -2,9 +2,10 @@
# Fabrique les exécutables electron/cordova pour une version de Cassiopée $1, les
# distribue sur le serveur $2 dans le dossier $3, et met à jour le fichier releases.json
# et les liens symboliques si la version n'est pas nightly
if [ "$#" -lt 3 ]; then
echo "usage: $0 X.Y.Z login@server /var/www/releases_dir"
echo "usage: $0 <X.Y.Z|nightly> <login@server> <releases dir>"
exit 1
fi
......@@ -15,22 +16,29 @@ RELEASES_DIR="$3"
RELEASES_FILE="$RELEASES_DIR/releases.json"
TMP_RELEASES_FILE="tmp-releases.json"
# update flag for releases file/symlinks
update_latest=1
if [[ $VERSION == "nightly" ]]; then
update_latest=0
fi
echo "deploy-version.sh: building release for version $VERSION, deploying in $HOST_LOGIN:$RELEASES_DIR"
# build releases
npm run release-all
# update existing releases file
if (( $update_latest )); then
echo "updating releases.json"
# fetch current releases file
scp "$HOST_LOGIN:$RELEASES_FILE" "./$TMP_RELEASES_FILE"
# fetch current releases file
scp "$HOST_LOGIN:$RELEASES_FILE" "./$TMP_RELEASES_FILE"
grep -P "\"latest\": \"$VERSION\"" "$TMP_RELEASES_FILE"
grep -P "\"latest\": \"$VERSION\"" "$TMP_RELEASES_FILE"
if [[ $? == 0 ]]
then
if [[ $? == 0 ]]; then
echo "$VERSION est déjà la version la plus récente, pas de mise à jour du fichier releases.json"
else
else
sed -i -E "s/\"latest\": .+,/\"latest\": \"$VERSION\",/" "$TMP_RELEASES_FILE"
echo -e "\t\"$VERSION\": {
\t\t\"darwin\": \"Cassiopée-${VERSION}-mac.zip\",
......@@ -41,20 +49,26 @@ else
sed -i "/\"latest\": \"$VERSION\",/r releases_patch.tmp" "$TMP_RELEASES_FILE"
rm releases_patch.tmp
fi
fi
# send updated file, remove local copy
scp "./$TMP_RELEASES_FILE" "$HOST_LOGIN:$RELEASES_FILE"
rm "./$TMP_RELEASES_FILE"
# send updated file, remove local copy
scp "./$TMP_RELEASES_FILE" "$HOST_LOGIN:$RELEASES_FILE"
rm "./$TMP_RELEASES_FILE"
fi
# copy releases to public web directory
scp "release/Cassiopée Setup $VERSION.exe" "release/fr.irstea.cassiopee_${VERSION}_amd64.deb" "release/cassiopee-$VERSION.apk" "release/Cassiopée-${VERSION}-mac.zip" "$HOST_LOGIN:$RELEASES_DIR/"
# symlink "latest" version for each platform
ssh $HOST_LOGIN /bin/bash << EOF
if (( $update_latest )); then
echo "updating 'latest' symlinks"
ssh $HOST_LOGIN /bin/bash << EOF
cd "$RELEASES_DIR"
ln -sf "Cassiopée Setup $VERSION.exe" "windows-latest.exe"
ln -sf "fr.irstea.cassiopee_${VERSION}_amd64.deb" "linux-latest.deb"
ln -sf "Cassiopée-${VERSION}-mac.zip" "macos-latest.zip"
ln -sf "cassiopee-$VERSION.apk" "android-latest.apk"
EOF
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment