Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ name: Deploy to AlwaysData
on:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: deploy-alwaysdata-${{ github.ref }}
cancel-in-progress: false

jobs:
build-and-deploy:
runs-on: ubuntu-latest
Expand All @@ -13,30 +20,32 @@ jobs:
- name: Build Rust (Release)
working-directory: ./backend
run: |
set -euo pipefail
cargo build --release
cp target/release/backend ../backend
strip target/release/backend
env:
SQLX_OFFLINE: true

# --- PARTIE SVELTE ---
- name: Install & Build Svelte
working-directory: ./frontend
run: |
npm install
set -euo pipefail
npm ci
npm run build
tar -czf ../frontend_deploy.tar.gz build/ package.json package-lock.json

# --- DÉPLOIEMENT ---
- name: Prepare artifacts for deployment
run: |
set -euo pipefail
mkdir -p deploy_folder/frontend
mkdir -p deploy_folder/backend

cp frontend_deploy.tar.gz deploy_folder/frontend/
cp backend/target/release/backend deploy_folder/backend/backend_binary

- name: Deploy to AlwaysData via SSH
uses: easingthemes/ssh-deploy@main
uses: easingthemes/ssh-deploy@v5.1.0
with:
SSH_PRIVATE_KEY: ${{ secrets.ALWAYS_SSH_KEY }}
REMOTE_HOST: "ssh-greenscore.alwaysdata.net"
Expand All @@ -47,27 +56,27 @@ jobs:

# --- REDÉMARRAGE ---
- name: Restart Services
uses: appleboy/ssh-action@master
uses: appleboy/ssh-action@v1.2.2
with:
host: "ssh-greenscore.alwaysdata.net"
username: "greenscore"
key: ${{ secrets.ALWAYS_SSH_KEY }}
script: |
set -euo pipefail
APP_DIR="/home/greenscore/www/app"

# 1. Gestion du FRONTEND
# Remove old build files
rm -rf $APP_DIR/frontend/build
rm -rf $APP_DIR/frontend/node_modules
rm -rf "$APP_DIR/frontend/build"

cd $APP_DIR/frontend/
cd "$APP_DIR/frontend/"
tar -xzf frontend_deploy.tar.gz
npm install --omit=dev
npm ci --omit=dev
rm frontend_deploy.tar.gz

# 2. Gestion du BACKEND
chmod +x $APP_DIR/backend/backend_binary
chmod +x "$APP_DIR/backend/backend_binary"

# 3. Restart les serveurs
curl -X POST --basic --user "${{ secrets.ALWAYSDATA_TOKEN }} account=greenscore:" https://api.alwaysdata.com/v1/site/1007299/restart/
curl -X POST --basic --user "${{ secrets.ALWAYSDATA_TOKEN }} account=greenscore:" https://api.alwaysdata.com/v1/service/19361/restart/
curl --fail --silent --show-error -X POST --basic --user "${{ secrets.ALWAYSDATA_TOKEN }} account=greenscore:" https://api.alwaysdata.com/v1/site/1007299/restart/
curl --fail --silent --show-error -X POST --basic --user "${{ secrets.ALWAYSDATA_TOKEN }} account=greenscore:" https://api.alwaysdata.com/v1/service/19361/restart/
185 changes: 0 additions & 185 deletions backend/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading