diff --git a/.woodpecker/age-check.yml b/.woodpecker/age-check.yml new file mode 100644 index 0000000..ef44172 --- /dev/null +++ b/.woodpecker/age-check.yml @@ -0,0 +1,19 @@ +steps: + - name: age-check + image: alpine:latest + commands: + - /bin/sh -c 'update-age.sh' && echo "Age check succeeded" || echo "Age check failed" + when: + - event: [cron, manual] + + - name: push commit + image: appleboy/drone-git-push + settings: + commit: true + commit_message: "Update age" + remote_name: origin + author_name: "Woodpecker CI" + author_email: "git@polarolouis.fr" + when: + path: + include: ["infos_persos.tex"] diff --git a/update-age.sh b/update-age.sh new file mode 100755 index 0000000..1242489 --- /dev/null +++ b/update-age.sh @@ -0,0 +1,33 @@ +#!/bin/bash +if [ $# -ne 1 ]; then +echo "Usage: $0 "; +echo "Example: $0 /path/to/file.txt"; +echo "Please provide a file as an argument."; +exit 1; +fi + +if [ ! -f $1 ]; then +echo "File $1 not found"; +echo "Usage: $0 "; +echo "Example: $0 /path/to/file.txt"; +exit 1; +fi + +AGE_W=$(grep -oP "([0-9]{2}) ans" $1 | grep -oP "([0-9]{2})") +if [ -z "$AGE_W" ]; then +echo "Age not found in $1"; +exit 1; +fi +echo "Age found: $AGE_W" +AGE_R=$(($(date +%Y)-2000)) +echo "Current age: $AGE_R" +if [ "$AGE_W" -eq "$AGE_R" ]; then +echo "Age in $1 ($AGE_W) matches current year ($AGE_R)"; +exit 0; +else +echo "Age in $1 ($AGE_W) does not match current year ($AGE_R)"; +echo "Updating age in $1"; +sed -i -e "s/$AGE_W ans/$AGE_R ans/" $1; +echo "Age updated to $AGE_R in $1"; +cat $1 +fi \ No newline at end of file