Skip to content

Commit 9cb5970

Browse files
validate date is in the past
1 parent 63d39cc commit 9cb5970

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

.github/workflows/recover_s3_repository.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,23 @@ jobs:
4646
steps:
4747
- name: Validate datetime
4848
run: |
49-
set -e
5049
datetime="${{ github.event.inputs.date_month }}-${{ github.event.inputs.date_day }}-${{ github.event.inputs.date_year }} ${{ github.event.inputs.time }} +0000"
5150
# Use Python's strptome (same as s3-pit-restore) to check if it's a valid datetime
5251
python3 -c "from datetime import datetime; datetime.strptime('$datetime', '%m-%d-%Y %H:%M:%S %z')" 2> /dev/null
5352
exit_code=$?
5453
if [ $exit_code -ne 0 ]; then
54+
echo "Invalid datetime: $datetime"
55+
exit 1
56+
fi
57+
58+
# check that datetime is not in the future
59+
python3 -c "from datetime import datetime,timezone; import sys; sys.exit(1) if datetime.strptime('$datetime', '%m-%d-%Y %H:%M:%S %z') >= datetime.now(timezone.utc) else sys.exit(0)"
60+
exit_code=$?
61+
if [ $exit_code -ne 0 ]; then
62+
echo "datetime cannot be in the future: $datetime"
5563
exit 1
5664
fi
65+
5766
echo "DATE_TIME=$datetime" >> $GITHUB_ENV
5867
5968
- name: Validate path input does not have leading nor trailing slash

0 commit comments

Comments
 (0)