Skip to content

Auto Green

Auto Green #699

Workflow file for this run

name: Auto Green
on:
schedule:
- cron: "*/30 * * * *" # cek tiap 30 menit
workflow_dispatch:
permissions:
contents: write
jobs:
auto-green:
runs-on: ubuntu-latest
steps:
- name: Checkout repo pakai PAT pribadi
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT_TOKEN }}
fetch-depth: 0
- name: Randomize interval (skip 50% runs)
run: |
# 50% skip -> rata-rata commit tiap ~60 menit
if [ $((RANDOM % 2)) -eq 0 ]; then
echo "Random skip this run."
exit 0
fi
- name: Generate random data (always changes)
run: |
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
RANDOM_NUM=$((RANDOM % 10000))
RANDOM_HEX=$(openssl rand -hex 8)
MOODS=("happy" "calm" "focused" "sleepy" "productive")
MOOD=${MOODS[$RANDOM % ${#MOODS[@]}]}
echo "{\"last_update\": \"$TIMESTAMP\", \"random_number\": $RANDOM_NUM, \"random_hex\": \"$RANDOM_HEX\", \"mood\": \"$MOOD\"}" > data.json
cat data.json
- name: Commit dan push sebagai user pribadi
env:
TOKEN: ${{ secrets.PAT_TOKEN }}
GIT_USER: ${{ secrets.USER_NAME }}
GIT_EMAIL: ${{ secrets.USER_EMAIL }}
run: |
git config user.name "${GIT_USER}"
git config user.email "${GIT_EMAIL}"
git add data.json
git commit -m "🌱 Auto update by ${GIT_USER} - $(date -u +"%Y-%m-%d %H:%M:%S UTC")" || exit 0
git push https://x-access-token:${TOKEN}@github.com/${{ github.repository }}.git HEAD:main