
Some checks are pending
CI - 4NK_node / Unit Tests (push) Waiting to run
CI - 4NK_node / Integration Tests (push) Waiting to run
CI - 4NK_node / Code Quality (push) Waiting to run
CI - 4NK_node / Security Tests (push) Waiting to run
CI - 4NK_node / Docker Build & Test (push) Waiting to run
CI - 4NK_node / Documentation Tests (push) Waiting to run
CI - 4NK_node / Security Audit (push) Waiting to run
CI - 4NK_node / Release Guard (push) Blocked by required conditions
CI - 4NK_node / Publish Release (push) Blocked by required conditions
CI - 4NK_node / Performance Tests (push) Waiting to run
CI - 4NK_node / Notify (push) Blocked by required conditions
91 lines
3.0 KiB
Bash
Executable File
91 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script de construction des modules 4NK_node et des projets 4NK_node
|
|
set -e
|
|
|
|
echo "🏗️ Construction des modules 4NK_node et projets 4NK_node..."
|
|
|
|
# Fonction pour construire un module spécifique
|
|
build_module() {
|
|
local module_name="$1"
|
|
local module_dir="modules/$module_name"
|
|
|
|
if [ ! -d "$module_dir" ]; then
|
|
echo "❌ Module $module_name non trouvé dans $module_dir"
|
|
return 1
|
|
fi
|
|
|
|
echo "🔨 Construction de $module_name..."
|
|
|
|
# Construire l'image Docker
|
|
docker build -t "4nk-node-$module_name:latest" "$module_dir"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Module $module_name construit avec succès"
|
|
else
|
|
echo "❌ Échec de la construction du module $module_name"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
build_project() {
|
|
local project_name="$1"
|
|
local project_dir="projects/$project_name"
|
|
if [ ! -d "$project_dir" ]; then
|
|
echo "❌ Project $project_name non trouvé dans $project_dir"
|
|
return 1
|
|
fi
|
|
echo "🔨 Construction de $project_name (project)..."
|
|
docker build -t "4nk-node-$project_name:latest" "$project_dir"
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Project $project_name construit avec succès"
|
|
else
|
|
echo "❌ Échec de la construction du project $project_name"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Construction de tous les modules si aucun argument n'est fourni
|
|
if [ $# -eq 0 ]; then
|
|
echo "📦 Construction de tous les modules et projets..."
|
|
|
|
# Modules de base (existence check pour éviter les erreurs sur des dépôts partiels)
|
|
if [ -d "modules/tor" ]; then
|
|
build_module "tor"
|
|
else
|
|
echo "⚠️ Tor module absent, skipping"
|
|
fi
|
|
|
|
if [ -d "modules/bitcoin" ]; then
|
|
build_module "bitcoin"
|
|
else
|
|
echo "⚠️ Bitcoin module absent, skipping"
|
|
fi
|
|
|
|
# Modules applicatifs
|
|
if [ -d "modules/blindbit" ]; then build_module "blindbit"; else echo "⚠️ blindbit module absent"; fi
|
|
if [ -d "modules/sdk_relay1" ]; then build_module "sdk_relay1"; fi
|
|
if [ -d "modules/sdk_relay2" ]; then build_module "sdk_relay2"; fi
|
|
if [ -d "modules/sdk_relay3" ]; then build_module "sdk_relay3"; fi
|
|
if [ -d "modules/sdk_storage" ]; then build_module "sdk_storage"; fi
|
|
if [ -d "modules/sdk_signer" ]; then build_module "sdk_signer"; fi
|
|
if [ -d "modules/ihm_client" ]; then build_module "ihm_client"; fi
|
|
|
|
# Projets nouvellement ajoutés (Le coffre)
|
|
# Le coffre-back et le coffre-front dans 4NK_node/projects
|
|
if [ -d "projects/lecoffre-back" ]; then build_project "lecoffre-back"; else echo "⚠️ lecoffre-back project absent"; fi
|
|
if [ -d "projects/lecoffre-front" ]; then build_project "lecoffre-front"; else echo "⚠️ lecoffre-front project absent"; fi
|
|
|
|
echo "🎉 Tous les modules et projets ont été construits !"
|
|
else
|
|
# Construction d'un module ou d'un projet spécifique
|
|
if [ -d "modules/$1" ]; then
|
|
build_module "$1"
|
|
elif [ -d "projects/$1" ]; then
|
|
build_project "$1"
|
|
else
|
|
echo "Module ou projet inconnu: $1"
|
|
exit 1
|
|
fi
|
|
fi
|