`feat: enhance spamAdv function with input validation, error handling… #214
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Auto Update on New File Creation | |
| on: | |
| push: | |
| branches: | |
| - main | |
| # Trigger akan aktif untuk setiap push guna memeriksa adanya file baru | |
| permissions: | |
| contents: write | |
| jobs: | |
| track-new-files: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 # Membutuhkan minimal 2 agar bisa membandingkan commit | |
| - name: Detect New Files and Update README | |
| run: | | |
| # Mendapatkan daftar file yang baru ditambahkan (A = Added) pada commit terakhir | |
| NEW_FILES=$(git diff --name-only --diff-filter=A HEAD~1 HEAD) | |
| if [ -z "$NEW_FILES" ]; then | |
| echo "Tidak ada berkas baru yang ditambahkan pada commit ini." | |
| exit 0 | |
| fi | |
| # Menyusun konten pembaruan | |
| echo "## 🆕 New Files Detected" > updates.tmp | |
| echo "Berkas berikut baru saja ditambahkan ke repositori pada $(date +'%Y-%m-%d %H:%M'):" >> updates.tmp | |
| echo "" >> updates.tmp | |
| for file in $NEW_FILES; do | |
| echo "* $file" >> updates.tmp | |
| done | |
| echo -e "\n" >> updates.tmp | |
| # Inisialisasi README jika belum ada | |
| if [ ! -f README.md ]; then | |
| echo "# Neura Project" > README.md | |
| fi | |
| # Integrasi konten ke dalam README | |
| # Menghapus bagian lama 'New Files Detected' jika ada, lalu menyisipkan yang terbaru | |
| sed -i '/## 🆕 New Files Detected/,$d' README.md | |
| cat updates.tmp >> README.md | |
| rm updates.tmp | |
| - name: Commit and Push Changes | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add README.md | |
| if ! git diff --cached --quiet; then | |
| git commit -m "docs: automated log for newly created files [skip ci]" | |
| git push | |
| fi |