mirror of
https://github.com/sp-tarkov/build.git
synced 2025-02-12 20:30:44 -05:00
Refactors 'Clean Old Mega Releases' Step
Updates the mega clean-up step to use the mega-find command to do the brunt of the work.
This commit is contained in:
parent
3e29c137af
commit
816415a8e4
@ -584,6 +584,7 @@ jobs:
|
|||||||
id: upload-mega
|
id: upload-mega
|
||||||
run: |
|
run: |
|
||||||
mega-https on
|
mega-https on
|
||||||
|
mega-exec psa --discard
|
||||||
mega-login "${{ secrets.MEGA_EMAIL }}" "${{ secrets.MEGA_PASSWORD }}"
|
mega-login "${{ secrets.MEGA_EMAIL }}" "${{ secrets.MEGA_PASSWORD }}"
|
||||||
|
|
||||||
mega-put -c "/workspace/SPT/Build/${{ steps.generate-filename.outputs.build_name }}" "/spt-release/${{ steps.generate-filename.outputs.build_name }}"
|
mega-put -c "/workspace/SPT/Build/${{ steps.generate-filename.outputs.build_name }}" "/spt-release/${{ steps.generate-filename.outputs.build_name }}"
|
||||||
@ -600,48 +601,29 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mega-https on
|
mega-https on
|
||||||
mega-login "${{ secrets.MEGA_EMAIL }}" "${{ secrets.MEGA_PASSWORD }}"
|
mega-login "${{ secrets.MEGA_EMAIL }}" "${{ secrets.MEGA_PASSWORD }}"
|
||||||
|
|
||||||
mega-exec psa --discard
|
mega-exec psa --discard
|
||||||
|
|
||||||
echo "Finding files matching the pattern:"
|
echo "Finding old, non-release type files..."
|
||||||
mega-find /spt-release --pattern 'SPT-*.7z' > matching_files.txt
|
|
||||||
cat matching_files.txt
|
|
||||||
|
|
||||||
echo "Filter files matching specific build types:"
|
mega-find /spt-release \
|
||||||
grep -E 'SPT-(NIGHTLY|DEBUG|BLEEDING|BLEEDINGMODS).*\.7z$' matching_files.txt > filtered_files.txt
|
--type=f \
|
||||||
cat filtered_files.txt
|
--pattern=SPT-(NIGHTLY|DEBUG|BLEEDING|BLEEDINGMODS).*\.7z \
|
||||||
|
--use-pcre \
|
||||||
|
--mtime=+14d > old_files.txt
|
||||||
|
|
||||||
# Process each filepath
|
# Check if any old files were found
|
||||||
while read -r filepath; do
|
if [ -s old_files.txt ]; then
|
||||||
filename=$(basename "$filepath")
|
echo "Old files found:"
|
||||||
echo "Processing filename: $filename"
|
cat old_files.txt
|
||||||
|
|
||||||
# Extract date from filename
|
# Delete each file listed in old_files.txt
|
||||||
if [[ "$filename" =~ ([0-9]{8})\.7z$ ]]; then
|
while read -r filepath; do
|
||||||
|
echo "Deleting old file: $filepath"
|
||||||
file_date="${BASH_REMATCH[1]}"
|
mega-rm "$filepath"
|
||||||
echo "Extracted date: $file_date"
|
done < old_files.txt
|
||||||
|
else
|
||||||
file_date_fmt=$(date -d "${file_date:0:4}-${file_date:4:2}-${file_date:6:2}" +%s)
|
echo "No old files found."
|
||||||
echo "File date timestamp: $file_date_fmt"
|
fi
|
||||||
|
|
||||||
# Get current date minus 14 days
|
|
||||||
current_date=$(date +%s)
|
|
||||||
limit_date=$(date -d "@$((current_date - 14 * 24 * 3600))" +%s)
|
|
||||||
echo "Current date timestamp: $current_date"
|
|
||||||
echo "Limit date timestamp: $limit_date"
|
|
||||||
|
|
||||||
# Compare dates and delete old files
|
|
||||||
if [[ "$file_date_fmt" -lt "$limit_date" ]]; then
|
|
||||||
echo "Deleting old file: $filepath"
|
|
||||||
mega-rm "$filepath"
|
|
||||||
else
|
|
||||||
echo "File is not older than 14 days, keeping: $filepath"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Filename does not match date pattern: $filename"
|
|
||||||
fi
|
|
||||||
done < filtered_files.txt
|
|
||||||
|
|
||||||
# Remove old file versions to save space.
|
# Remove old file versions to save space.
|
||||||
mega-deleteversions -f /spt-release/*
|
mega-deleteversions -f /spt-release/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user