From cafabe0581f984d033d77a19ab0a9f9d0343d359 Mon Sep 17 00:00:00 2001 From: Refringe Date: Sat, 9 Mar 2024 14:10:59 -0500 Subject: [PATCH] Remove old nightly/bleeding release files (+1 month) from HTTPS source --- .gitea/workflows/build.yaml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index d8ba39d..4ddc574 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -335,6 +335,32 @@ 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: Clean Old SFTP Releases + run: | + echo "${{ secrets.SFTP_HOST_KEY }}" > known_hosts + sshpass -p "${{ secrets.SFTP_PASSWORD }}" ssh -oPort=${{ secrets.SFTP_PORT }} -oConnectTimeout=20 -oUserKnownHostsFile=known_hosts -oStrictHostKeyChecking=yes ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }} << EOF + cd /public + # With a list of debug and bleeding edge builds... + ls | grep -E 'SPT-(DEBUG|BLEEDING).*\.7z$' | while read -r filename; do + # Extract date from 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) + + # Get current date minus 30 days + current_date=\$(date +%s) + limit_date=\$(date -d "@\$((current_date - 30 * 24 * 3600))" +%s) + + # Compare dates and delete old files + if [[ "\$file_date_fmt" -lt "\$limit_date" ]]; then + echo "Deleting old file: \$filename" + rm "/public/\$filename" + fi + fi + done + EOF + shell: bash + - name: Upload Release to Mega id: upload-mega run: |