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 #4 from YunoHost-Apps/testing

Testing update version
This commit is contained in:
Thomas 2023-12-13 22:45:13 +01:00 committed by GitHub
commit 3ec36c7c52
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 85 additions and 46 deletions

View file

@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
This is an open-source online implementation of the great board game Terraforming mars. It is not affiliated with FryxGames, Asmodee Digital or Steam in any way. This is an open-source online implementation of the great board game Terraforming mars. It is not affiliated with FryxGames, Asmodee Digital or Steam in any way.
**Shipped version:** 20231115~ynh1 **Shipped version:** 20231205~ynh1
**Demo:** https://terraforming-mars.herokuapp.com/ **Demo:** https://terraforming-mars.herokuapp.com/

View file

@ -18,7 +18,7 @@ Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po
Cette application est une implémentation en ligne et open source de lexcellent jeu de plateau Terraforming mars. Elle nest affiliée à FryxGames, Asmodee Digital ou Steam en aucun cas. Cette application est une implémentation en ligne et open source de lexcellent jeu de plateau Terraforming mars. Elle nest affiliée à FryxGames, Asmodee Digital ou Steam en aucun cas.
**Version incluse :** 20231115~ynh1 **Version incluse :** 20231205~ynh1
**Démo :** https://terraforming-mars.herokuapp.com/ **Démo :** https://terraforming-mars.herokuapp.com/

View file

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

View file

@ -7,7 +7,7 @@ name = "Terraforming Mars "
description.en = "Open-source online implementation of the great board game Terraforming mars." description.en = "Open-source online implementation of the great board game Terraforming mars."
description.fr = "Implementation en ligne à code source ouvert de lexcellent jeu de plateau Terraforming Mars" description.fr = "Implementation en ligne à code source ouvert de lexcellent jeu de plateau Terraforming Mars"
version = "20231115~ynh1" version = "20231205~ynh1"
maintainers = ["Thovi98"] maintainers = ["Thovi98"]
@ -41,6 +41,14 @@ ram.runtime = "50M"
default = "visitors" default = "visitors"
[resources] [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] [resources.system_user]

View file

@ -5,10 +5,7 @@
#================================================= #=================================================
# nodejs version # nodejs version
nodejs_version=16 nodejs_version=16.13.2
# Terraforming-mars commit
TM_version="38c69c7"
#================================================= #=================================================
# PERSONAL HELPERS # PERSONAL HELPERS

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 ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
# Upgrade NPM # 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 # NGINX CONFIGURATION
@ -30,30 +42,6 @@ ynh_add_nginx_config
#================================================= #=================================================
# SPECIFIC SETUP # SPECIFIC SETUP
#================================================= #=================================================
#=================================================
# 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
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_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
popd
chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:$app "$install_dir"
#================================================= #=================================================
# ADD A CONFIGURATION # ADD A CONFIGURATION
#================================================= #=================================================
@ -68,6 +56,26 @@ ynh_add_config --template="../conf/.env" --destination="$install_dir/.env"
chmod 600 "$install_dir/.env" chmod 600 "$install_dir/.env"
chown $app:$app "$install_dir/.env" chown $app:$app "$install_dir/.env"
#=================================================
# BUILD APP
#=================================================
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 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
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"
chmod -R o-rwx "$install_dir"
chown -R $app:$app "$install_dir"
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
#================================================= #=================================================

View file

@ -10,6 +10,15 @@
source ../settings/scripts/_common.sh source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers 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 # RESTORE THE APP MAIN DIR
#================================================= #=================================================

View file

@ -19,7 +19,19 @@ ynh_script_progression --message="Installing dependencies..." --weight=5
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version
# Upgrade NPM # 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" --full_replace=1
chmod 750 "$install_dir"
chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir"
#================================================= #=================================================
# STANDARD UPGRADE STEPS # STANDARD UPGRADE STEPS
@ -31,26 +43,31 @@ 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" ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log"
#================================================= #=================================================
# "REBUILD" THE APP (DEPLOY NEW SOURCES, RERUN NPM BUILD...) # RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...)
#================================================= #=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE # UPDATE A CONFIG FILE
#=================================================
ynh_script_progression --message="Updating a configuration file..." --weight=1
ynh_add_config --template="../conf/.env" --destination="$install_dir/.env"
chmod 400 "$install_dir/.env"
chown $app:$app "$install_dir/.env"
#=================================================
# BUILD APP
#================================================= #=================================================
cd $install_dir pushd $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
ynh_use_nodejs ynh_use_nodejs
ynh_script_progression --message="npm install... This can be very long, be patient !" --weight=18 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_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 popd
chmod 750 "$install_dir" chmod 750 "$install_dir"