This commit is contained in:
2026-02-08 02:49:35 +01:00
parent 3e0c13a77b
commit 0abb0b6f38
2 changed files with 84 additions and 58 deletions

View File

@@ -14,76 +14,102 @@ env:
jobs: jobs:
prepare-server-content: prepare-server-content:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout Master Branch (LFS) - name: Pre-initialize Repository with SHA-256
run: |
mkdir -p ${{ github.workspace }}
git init --object-format=sha256 ${{ github.workspace }}
- name: Checkout Main Branch (No LFS)
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
ref: master ref: main
lfs: true lfs: false # <--- Turn this OFF
fetch-depth: 0 fetch-depth: 1
clean: false
- name: Install 7-Zip - name: Manual LFS Fetch with Debugging
env:
GIT_TRACE: 1
GIT_TRANSFER_TRACE: 1
GIT_CURL_VERBOSE: 1
run: | run: |
sudo apt-get update git lfs install
sudo apt-get install -y p7zip-full # Try to pull the specific missing files to see the real error message
git lfs fetch origin main
git lfs checkout
- name: Process Archives # steps:
run: | # - name: Checkout Master Branch (LFS)
# 1. Define Paths # uses: actions/checkout@v4
SOURCE_ROOT="./cars" # with:
# This is where the server expects the files # ref: master
DEST_ROOT="./server-data/content/cars" # lfs: true
mkdir -p "$DEST_ROOT" # fetch-depth: 0
echo "🔍 Searching for archives in $SOURCE_ROOT..." # - name: Install 7-Zip
# run: |
# sudo apt-get update
# sudo apt-get install -y p7zip-full
# 2. Find all archives recursively (zip, 7z, rar) # - name: Process Archives
find "$SOURCE_ROOT" -type f \( -name "*.zip" -o -name "*.7z" -o -name "*.rar" \) | while read archive; do # 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"
# Get the filename without extension (e.g., "cars/groupA/my_car.zip" -> "my_car") # echo "🔍 Searching for archives in $SOURCE_ROOT..."
filename=$(basename -- "$archive")
car_name="${filename%.*}"
echo "--------------------------------------" # # 2. Find all archives recursively (zip, 7z, rar)
echo "Processing: $car_name" # find "$SOURCE_ROOT" -type f \( -name "*.zip" -o -name "*.7z" -o -name "*.rar" \) | while read archive; do
# # Create a temp directory for extraction # # Get the filename without extension (e.g., "cars/groupA/my_car.zip" -> "my_car")
# temp_dir=$(mktemp -d) # filename=$(basename -- "$archive")
# car_name="${filename%.*}"
# # 3. Extract contents # echo "--------------------------------------"
# # -y: assume yes on all queries # echo "Processing: $car_name"
# # -o: output directory (no space after -o)
# 7z x "$archive" -o"$temp_dir" -y > /dev/null
# # 4. FILTERING LOGIC (The "Server" optimization) # # # Create a temp directory for extraction
# echo "Cleaning up unnecessary server files..." # # temp_dir=$(mktemp -d)
# # Remove heavy textures and previews (recursive) # # # 3. Extract contents
# find "$temp_dir" -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.dds" -o -name "*.kn5" -o -name "*.bmp" \) -delete # # # -y: assume yes on all queries
# # # -o: output directory (no space after -o)
# # 7z x "$archive" -o"$temp_dir" -y > /dev/null
# # Remove the 'physics/csp' folder if standard physics are preferred (Optional - comment out if needed) # # # 4. FILTERING LOGIC (The "Server" optimization)
# # rm -rf "$temp_dir/physics/csp" # # echo "Cleaning up unnecessary server files..."
# # 5. Move to final Server Directory # # # Remove heavy textures and previews (recursive)
# target_dir="$DEST_ROOT/$car_name" # # find "$temp_dir" -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.dds" -o -name "*.kn5" -o -name "*.bmp" \) -delete
# # Clean old version if exists # # # Remove the 'physics/csp' folder if standard physics are preferred (Optional - comment out if needed)
# if [ -d "$target_dir" ]; then # # # rm -rf "$temp_dir/physics/csp"
# rm -rf "$target_dir"
# fi
# mkdir -p "$target_dir"
# # Move files # # # 5. Move to final Server Directory
# cp -r "$temp_dir"/* "$target_dir"/ # # target_dir="$DEST_ROOT/$car_name"
# # Cleanup temp # # # Clean old version if exists
# rm -rf "$temp_dir" # # if [ -d "$target_dir" ]; then
# # rm -rf "$target_dir"
# # fi
# # mkdir -p "$target_dir"
echo "✅ Installed to: $target_dir" # # # Move files
done # # cp -r "$temp_dir"/* "$target_dir"/
- name: Verify Installation # # # Cleanup temp
run: | # # rm -rf "$temp_dir"
echo "📁Final Server Directory Structure:"
# Show directory tree 3 levels deep to verify structure without spamming files # echo "✅ Installed to: $target_dir"
find ./server-data -maxdepth 3 -not -path '*/.*' # 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 '*/.*'