balls
This commit is contained in:
89
.gitea/workflows/deploy-server.yaml
Normal file
89
.gitea/workflows/deploy-server.yaml
Normal file
@@ -0,0 +1,89 @@
|
||||
name: Extract Archives
|
||||
run-name: Extract Archives
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "cars/**" # Only run if archives in cars/ change
|
||||
env:
|
||||
GIT_DEFAULT_HASH: sha256
|
||||
|
||||
jobs:
|
||||
prepare-server-content:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Main Branch (LFS)
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: main
|
||||
lfs: true
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Install 7-Zip
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y p7zip-full
|
||||
|
||||
- name: Process Archives
|
||||
run: |
|
||||
# 1. Define Paths
|
||||
SOURCE_ROOT="./cars"
|
||||
# This is where the server expects the files
|
||||
DEST_ROOT="./server-data/content/cars"
|
||||
mkdir -p "$DEST_ROOT"
|
||||
|
||||
echo "🔍 Searching for archives in $SOURCE_ROOT..."
|
||||
|
||||
# 2. Find all archives recursively (zip, 7z, rar)
|
||||
find "$SOURCE_ROOT" -type f \( -name "*.zip" -o -name "*.7z" -o -name "*.rar" \) | while read archive; do
|
||||
|
||||
# Get the filename without extension (e.g., "cars/groupA/my_car.zip" -> "my_car")
|
||||
filename=$(basename -- "$archive")
|
||||
car_name="${filename%.*}"
|
||||
|
||||
echo "--------------------------------------"
|
||||
echo "Processing: $car_name"
|
||||
|
||||
# # Create a temp directory for extraction
|
||||
# temp_dir=$(mktemp -d)
|
||||
|
||||
# # 3. Extract contents
|
||||
# # -y: assume yes on all queries
|
||||
# # -o: output directory (no space after -o)
|
||||
# 7z x "$archive" -o"$temp_dir" -y > /dev/null
|
||||
|
||||
# # 4. FILTERING LOGIC (The "Server" optimization)
|
||||
# echo "Cleaning up unnecessary server files..."
|
||||
|
||||
# # Remove heavy textures and previews (recursive)
|
||||
# find "$temp_dir" -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.dds" -o -name "*.kn5" -o -name "*.bmp" \) -delete
|
||||
|
||||
# # Remove the 'physics/csp' folder if standard physics are preferred (Optional - comment out if needed)
|
||||
# # rm -rf "$temp_dir/physics/csp"
|
||||
|
||||
# # 5. Move to final Server Directory
|
||||
# target_dir="$DEST_ROOT/$car_name"
|
||||
|
||||
# # Clean old version if exists
|
||||
# if [ -d "$target_dir" ]; then
|
||||
# rm -rf "$target_dir"
|
||||
# fi
|
||||
# mkdir -p "$target_dir"
|
||||
|
||||
# # Move files
|
||||
# cp -r "$temp_dir"/* "$target_dir"/
|
||||
|
||||
# # Cleanup temp
|
||||
# rm -rf "$temp_dir"
|
||||
|
||||
echo "✅ Installed to: $target_dir"
|
||||
done
|
||||
|
||||
- name: Verify Installation
|
||||
run: |
|
||||
echo "📁Final Server Directory Structure:"
|
||||
# Show directory tree 3 levels deep to verify structure without spamming files
|
||||
find ./server-data -maxdepth 3 -not -path '*/.*'
|
||||
Reference in New Issue
Block a user