From a0b3ed54145df9c565f8a6edd23a2b281afbff39 Mon Sep 17 00:00:00 2001 From: Refringe Date: Sat, 9 Mar 2024 15:00:30 -0500 Subject: [PATCH] Should get us closer... --- .gitea/workflows/build.yaml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 978b3ae..d7e9a54 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -335,15 +335,34 @@ jobs: sshpass -p "${{ secrets.SFTP_PASSWORD }}" scp -v -o "Port=${{ secrets.SFTP_PORT }}" -o "ConnectTimeout=20" -o "UserKnownHostsFile=known_host" -o "StrictHostKeyChecking=yes" "/workspace/refringe/Build/${{ steps.generate-filename.outputs.filename }}" ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:/public shell: bash - - name: Test SFTP Listing + - name: Clean Old SFTP Releases run: | + cd /workspace/refringe/Build/ echo "${{ secrets.SFTP_HOST_KEY }}" > known_hosts - - echo "Listing files with sftp..." FILE_LIST=$(sshpass -p "${{ secrets.SFTP_PASSWORD }}" sftp -oBatchMode=no -oPort=${{ secrets.SFTP_PORT }} -oUserKnownHostsFile=known_hosts -oStrictHostKeyChecking=yes ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }} <<< $'ls /public') - echo "Listed files:" - echo "$FILE_LIST" + echo "$FILE_LIST" | grep -E 'SPT-(DEBUG|BLEEDING).*\.7z$' | sed 's/\/public\///' | while read -r filename; do + echo "Processing $filename..." + if [[ "$filename" =~ ([0-9]{8})\.7z$ ]]; then + file_date="${BASH_REMATCH[1]}" + file_date_fmt=$(date -d "${file_date:0:4}-${file_date:4:2}-${file_date:6:2}" +%s) + + current_date=$(date +%s) + limit_date=$(date -d "@$((current_date - 30 * 24 * 3600))" +%s) + + if [[ "$file_date_fmt" -lt "$limit_date" ]]; then + echo "Queueing deletion for: $filename" + echo "rm \"$filename\"" >> sftp_batch.txt + fi + fi + done + + if [ -s sftp_batch.txt ]; then + echo "Executing deletion commands..." + sshpass -p "${{ secrets.SFTP_PASSWORD }}" sftp -oBatchMode=no -b sftp_batch.txt -oPort=${{ secrets.SFTP_PORT }} -oUserKnownHostsFile=known_hosts -oStrictHostKeyChecking=yes ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }} + else + echo "No files to delete." + fi shell: bash - name: Upload Release to Mega