This is an automated email from the ASF dual-hosted git repository.

meonkeys pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/fineract-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 524a8d2  improve CI site generation job name and docs
524a8d2 is described below

commit 524a8d27e978546c665079461421d1d6732d77ac
Author: Adam Monsen <[email protected]>
AuthorDate: Tue Jul 14 12:22:52 2026 -0700

    improve CI site generation job name and docs
    
    I considered simplifying the logic under "# Prevent loops from bot
    commits and restrict to upstream repo." I asked Claude (model=Sonnet 5,
    effort=High) what it thought about that. Claude said:
    
        GitHub's GITHUB_TOKEN already has built-in loop protection — pushes
        made with the default GITHUB_TOKEN (which is what this workflow
        uses, since there's no custom token: on the checkout step) don't
        trigger new on: push runs at all. So technically both the actor !=
        'github-actions[bot]' check and the [skip-generate] message check
        are redundant with platform behavior today. That's not a bug, just
        double insurance — it protects you if someone later swaps in a PAT
        (which does retrigger workflows) without noticing they've silently
        removed the loop protection. I'd call this defensible
        belt-and-suspenders rather than "doesn't make sense."
    
        If you want, I can simplify the condition (e.g. drop the actor check
        and rely solely on the commit-message tag, or vice versa) — but let
        me know which behavior you actually want before I touch it, since
        either one is a legitimate design choice depending on how much you
        trust the GITHUB_TOKEN guarantee to hold going forward.
    
    PAT means Personal Access Token.
    
    I didn't change the guard logic, just the matched string.
    
    I didn't scour the docs to verify what Claude said is true, I just left
    the code as-is since it appears to be working.
---
 .../{site-publish.yml => generate-static-site.yml}       | 16 ++++++++--------
 CONTRIBUTING.md                                          | 16 ++++++++++++----
 README.md                                                | 14 +-------------
 3 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/.github/workflows/site-publish.yml 
b/.github/workflows/generate-static-site.yml
similarity index 81%
rename from .github/workflows/site-publish.yml
rename to .github/workflows/generate-static-site.yml
index d9a41d1..00f7aa5 100644
--- a/.github/workflows/site-publish.yml
+++ b/.github/workflows/generate-static-site.yml
@@ -1,4 +1,4 @@
-name: Site Publish
+name: Generate Static Site
 
 on:
   push:
@@ -10,13 +10,13 @@ permissions:
   contents: write
 
 concurrency:
-  group: site-publish
+  group: generate-static-site
   cancel-in-progress: false
 
 jobs:
-  publish:
-    # Prevent publish loops from bot commits and restrict to upstream repo.
-    if: github.repository == 'apache/fineract-site' && github.actor != 
'github-actions[bot]' && (github.event_name != 'push' || 
!contains(github.event.head_commit.message, '[skip-publish]'))
+  generate:
+    # Prevent loops from bot commits and restrict to upstream repo.
+    if: github.repository == 'apache/fineract-site' && github.actor != 
'github-actions[bot]' && (github.event_name != 'push' || 
!contains(github.event.head_commit.message, '[skip-generate]'))
     runs-on: ubuntu-latest
     steps:
       - name: Checkout
@@ -52,14 +52,14 @@ jobs:
             --exclude 'LICENSE.txt' \
             .build/site/ ./
 
-      - name: Commit and push published output
+      - name: Commit and push generated output
         run: |
           git config user.name "github-actions[bot]"
           git config user.email "github-actions[bot]@users.noreply.github.com"
           git add -A
           if git diff --cached --quiet; then
-            echo "No publish changes to commit."
+            echo "No changes to commit."
             exit 0
           fi
-          git commit -m "chore: publish generated site [skip-publish]"
+          git commit -m "bot chore: generate site [skip-generate]"
           git push origin HEAD:asf-site
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a4fee96..53ba907 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -76,11 +76,19 @@ Do not sign commits with SSH keys. More info:
 
 ## CI Workflows
 
-On push to `asf-site`, GitHub Actions builds the site, edits a clone of the 
`asf-site` in-place, then commits and pushes generated files.
-
-* PR checks: `.github/workflows/site-pr-check.yml`
-* Publish automation: `.github/workflows/site-publish.yml`
+* Code quality pass: `.github/workflows/site-pr-check.yml`
+  * builds site w/Hugo
+  * checks internal links
+  * ensures Whimsy compliance (local/offline)
+  * runs unit tests against Whimsy compliance code
+* Static site generation: `.github/workflows/generate-static-site.yml`
+  * builds site w/Hugo
+  * checks internal links
+  * ensures Whimsy compliance (local/offline)
+  * commits and pushes changes to generated files, if any exist
 * Ensure commits are signed: `.github/workflows/verify-commits.yml`
+* Maintain actual Whimsy compliance: `.github/workflows/whimsy-daily-check.yml`
+  * checks live Whimsy website daily for compliance
 
 ## Code formatting
 
diff --git a/README.md b/README.md
index be27b01..58b811a 100644
--- a/README.md
+++ b/README.md
@@ -58,19 +58,7 @@ docker run --rm -it -p 1313:1313 -v "${PWD}:/src" -w 
/src/site-src fineract-site
 
 Apache Whimsy periodically checks that the public homepage follows ASF 
conventions.
 Output of these checks is displayed 
[here](https://whimsy.apache.org/site/project/fineract).
-24 hours after code is changed and <https://fineract.apache.org> updates, 
ensure all checks remain green.
-
-## CI/CD
-
-- PR validation workflow: `.github/workflows/site-pr-check.yml`
-  - Builds the same Docker image used locally
-  - Runs build + checks in container
-- Publish workflow: `.github/workflows/site-publish.yml`
-  - Builds on pushes to `asf-site`
-  - Commits generated publish files back to `asf-site` via GitHub Actions
-
-Note: `.build/` is ignored in `.gitignore` and is never pushed.
 
 ## Contributor Guide
 
-See `CONTRIBUTING.md` for branch/PR workflow and validation checklist.
+See `CONTRIBUTING.md` for CI/CD details and branch/PR workflow.

Reply via email to