1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/terraforming-mars_ynh.git synced 2024-09-03 20:36:05 +02:00

Merge pull request #5 from YunoHost-Apps/proper-archive

init ynh_setup_source
This commit is contained in:
Thomas 2023-12-13 20:40:21 +01:00 committed by GitHub
commit f7946763aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 55 additions and 25 deletions

View file

@ -7,7 +7,7 @@ After=network-online.target
Type=simple
User=__APP__
Group=__APP__
WorkingDirectory=__INSTALL_DIR__/terraforming-mars
WorkingDirectory=__INSTALL_DIR__
EnvironmentFile=__INSTALL_DIR__/.env
Environment="__YNH_NODE_LOAD_PATH__"
Environment=NODE_ENV=production

View file

@ -41,6 +41,14 @@ ram.runtime = "50M"
default = "visitors"
[resources]
[resources.sources]
[resources.sources.main]
url = "https://codeload.github.com/terraforming-mars/terraforming-mars/tar.gz/78e5e5d0433e4d1632639ea7da1a1993672bd82a"
sha256 = "ad4e3107b42d61aac93546887f01714f6ef2d0ed84fb6f7c6f8178bf60264e1f"
in_subdir = true
autoupdate.strategy = "latest_github_commit"
[resources.system_user]

View file

@ -5,7 +5,7 @@
#=================================================
# nodejs version
nodejs_version=16
nodejs_version=16.13.2
# Terraforming-mars commit
TM_version="78e5e5d"

View file

@ -17,7 +17,19 @@ ynh_script_progression --message="Installing dependencies..." --weight=5
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
# Upgrade NPM
ynh_npm install --global npm@6.14.18
ynh_npm install --global npm@8.1.2
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..." --weight=1
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir"
chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
#=================================================
# NGINX CONFIGURATION
@ -34,20 +46,16 @@ ynh_add_nginx_config
# BUILD APP
#=================================================
cd $install_dir
ynh_exec_warn_less git clone https://github.com/terraforming-mars/terraforming-mars.git
cd $install_dir/terraforming-mars
ynh_exec_warn_less git checkout $TM_version
pushd $install_dir/terraforming-mars
pushd $install_dir
ynh_use_nodejs
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm install --network-timeout=100000
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm ci --quiet --production --prefer-offline --network-timeout=100000
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm install --save-dev @types/html-escaper
ynh_script_progression --message="npm run build... This can be very long, be patient !" --weight=25
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm run build
SOURCE_VERSION="$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -r ".resources.sources.main.url" | awk -F/ '{ print $NF }')"
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH SOURCE_VERSION="$SOURCE_VERSION" $ynh_npm run build
popd
chmod 750 "$install_dir"

View file

@ -10,6 +10,15 @@
source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers
#=================================================
# REINSTALL DEPENDENCIES
#=================================================
ynh_script_progression --message="Reinstalling dependencies..." --weight=10
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
ynh_npm install --global npm@8.1.2
#=================================================
# RESTORE THE APP MAIN DIR
#=================================================

View file

@ -21,6 +21,18 @@ ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
# Upgrade NPM
ynh_npm install --global npm@6.14.18
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression --message="Setting up source files..." --weight=1
# Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source --dest_dir="$install_dir" --full_replace=1
chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
#=================================================
# STANDARD UPGRADE STEPS
#=================================================
@ -31,26 +43,19 @@ ynh_script_progression --message="Stopping a systemd service..." --weight=1
ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log"
#=================================================
# "REBUILD" THE APP (DEPLOY NEW SOURCES, RERUN NPM BUILD...)
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
# BUILD APP
#=================================================
cd $install_dir
ynh_secure_remove terraforming-mars
ynh_exec_warn_less git clone https://github.com/terraforming-mars/terraforming-mars.git
cd $install_dir/terraforming-mars
ynh_exec_warn_less git checkout $TM_version
pushd $install_dir/terraforming-mars
pushd $install_dir
ynh_use_nodejs
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm install --network-timeout=100000
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm ci --quiet --production --prefer-offline --network-timeout=100000
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH $ynh_npm install --save-dev @types/html-escaper
ynh_script_progression --message="npm run build... This can be very long, be patient !" --weight=25
ynh_exec_warn_less env $ynh_node_load_PATH $ynh_npm run build
SOURCE_VERSION="$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -r ".resources.sources.main.url" | awk -F/ '{ print $NF }')"
ynh_exec_warn_less ynh_exec_as $app env $ynh_node_load_PATH SOURCE_VERSION="$SOURCE_VERSION" $ynh_npm run build
popd
chmod 750 "$install_dir"