Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c585210
feat(site): stage OINK A+B+C candidate
imbajin Sep 17, 2026
2208d7c
chore(staging): refresh OINK candidate
imbajin Sep 18, 2026
0f1e68c
fix(workflow): build staging from candidate shell
imbajin Sep 18, 2026
9fe4db3
fix(workflow): run staging planner on candidate ref
imbajin Sep 18, 2026
07094e6
docs: add OINK staging visual evidence
imbajin Sep 18, 2026
eea1ef1
chore: reconcile merged phase one history
imbajin Sep 18, 2026
6aa7c63
fix(site): close review and workflow gaps
imbajin Sep 18, 2026
2fbe62f
fix(docs): render accessible table captions
imbajin Sep 18, 2026
6bc4b0b
fix(ui): collapse sidebar after pointer exit
imbajin Sep 18, 2026
659f94d
fix(docs): preserve oink table rendering
imbajin Sep 18, 2026
f3d12c8
fix(community): refine github member cards
imbajin Sep 18, 2026
bebd7fe
docs(community): refresh roster screenshots
imbajin Sep 18, 2026
2d30ffa
fix(community): apply member title styling
imbajin Sep 18, 2026
6da3dc1
fix(community): expose public names to assistive tech
imbajin Sep 18, 2026
5b35f58
docs(community): refresh accessible roster screenshots
imbajin Sep 18, 2026
00495a9
fix(community): keep member names readable on mobile
imbajin Sep 18, 2026
19bb2c2
docs(community): focus pr visual evidence
imbajin Sep 18, 2026
2afe924
docs(download): add focused desktop evidence
imbajin Sep 18, 2026
bfafe24
fix(community): refine roster labels and card surfaces
imbajin Sep 18, 2026
7eb368b
fix(community): fill unified member surfaces
imbajin Sep 18, 2026
267bce6
docs(community): refresh roster comparison evidence
imbajin Sep 18, 2026
c590963
fix(community): keep only explicit name overrides
imbajin Sep 18, 2026
6c6817c
fix(ci): stabilize rerun artifacts
imbajin Sep 18, 2026
225537d
fix(community): update member display names
imbajin Sep 18, 2026
d25c82d
fix(site): resolve review follow-ups
imbajin Sep 18, 2026
b983f2b
fix(search): surface Ask AI tail
imbajin Sep 18, 2026
097d799
feat(search): offer AI for empty results
imbajin Sep 18, 2026
127dd19
docs(community): connect contributor pathways
imbajin Sep 18, 2026
3a2276a
fix(docs): open primary sidebar groups
imbajin Sep 18, 2026
b01f483
docs(community): streamline security links
imbajin Sep 18, 2026
aedd028
fix(shell): align sidebar hover preview
imbajin Sep 18, 2026
401ed8c
docs(community): trim contributor guidance
imbajin Sep 18, 2026
4dcbba3
docs(home): link community cards
imbajin Sep 19, 2026
90707ca
test(shell): update sidebar key contract
imbajin Sep 19, 2026
4947247
docs(community): separate committer note
imbajin Sep 19, 2026
a8e9e3a
fix(review): address remaining review comments
imbajin Sep 19, 2026
5fbceb6
docs(community): refine home community cards and sync EN committer note
imbajin Sep 19, 2026
9bc8857
fix(shell): support versioned docsRoot in sidebar and preserve search…
imbajin Sep 19, 2026
88cc85b
test(ai): add unit coverage for search shell Enter handler and harden…
imbajin Sep 19, 2026
b80fd98
chore: remove visual evidence screenshots before merge
imbajin Sep 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 28 additions & 14 deletions .github/workflows/hugo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
artifact_prefix: ${{ steps.plan.outputs.artifact_prefix }}
publish_branch: ${{ steps.plan.outputs.publish_branch }}
latest_sha: ${{ steps.plan.outputs.latest_sha }}
source_sha: ${{ steps.plan.outputs.source_sha }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
Expand Down Expand Up @@ -103,7 +104,6 @@ jobs:
latest_sha="$EVENT_SHA"

if [[ "$EVENT_NAME" == workflow_dispatch ]]; then
test "$GITHUB_REF" = refs/heads/master
candidate="$CANDIDATE_BRANCH"
test -n "$candidate"
[[ "$candidate" =~ ^[A-Za-z0-9][A-Za-z0-9._/-]*$ ]]
Expand All @@ -119,6 +119,9 @@ jobs:

case "$OPERATION" in
staging-next)
# Dispatches must load this privileged workflow from master;
# the candidate is data resolved to an immutable commit below.
test "$GITHUB_REF" = "refs/heads/master"
test "$CONFIRMATION" = "publish asf-staging-oink"
site_origin="$STAGING_ORIGIN"
artifact_prefix="staging"
Expand All @@ -131,6 +134,7 @@ jobs:
fi
;;
production-history-refresh)
test "$GITHUB_REF" = refs/heads/master
test "$CONFIRMATION" = "publish asf-site"
test "$candidate" = "$latest_ref"
test "$SCOPE" = full
Expand All @@ -152,11 +156,13 @@ jobs:
echo "artifact_prefix=$artifact_prefix"
echo "publish_branch=$publish_branch"
echo "latest_sha=$latest_sha"
echo "source_sha=$latest_sha"
} >> "$GITHUB_OUTPUT"

- name: Validate source and version tooling
run: |
bash dist/validate-links.sh
go mod download
PYTHONDONTWRITEBYTECODE=1 \
python3 -m unittest discover -s scripts -p 'test_*.py' -v
- name: Resolve immutable version matrix
Expand All @@ -172,10 +178,12 @@ jobs:
- name: Upload resolved version manifest
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: resolved-versions-${{ github.run_id }}-${{ github.run_attempt }}
# Keep dependency artifact names stable across selective job reruns.
name: resolved-versions-${{ github.run_id }}
path: resolved-versions.json
retention-days: 7
if-no-files-found: error
overwrite: true

build:
needs: prepare
Expand All @@ -193,7 +201,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ needs.prepare.outputs.source_sha }}
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
Expand Down Expand Up @@ -245,11 +253,12 @@ jobs:
- name: Upload isolated version artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ${{ needs.prepare.outputs.artifact_prefix }}-${{ matrix.version.id }}-${{ github.run_id }}-${{ github.run_attempt }}
name: ${{ needs.prepare.outputs.artifact_prefix }}-${{ matrix.version.id }}-${{ github.run_id }}
path: ${{ runner.temp }}/version-public
include-hidden-files: true
retention-days: 1
if-no-files-found: error
overwrite: true

aggregate:
needs: [prepare, build]
Expand All @@ -259,18 +268,18 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ needs.prepare.outputs.source_sha }}
persist-credentials: false
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: "3.13"
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: resolved-versions-${{ github.run_id }}-${{ github.run_attempt }}
name: resolved-versions-${{ github.run_id }}
path: resolved
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
pattern: ${{ needs.prepare.outputs.artifact_prefix }}-*-${{ github.run_id }}-${{ github.run_attempt }}
pattern: ${{ needs.prepare.outputs.artifact_prefix }}-*-${{ github.run_id }}
path: version-artifacts
- name: Assemble publishable site
env:
Expand All @@ -285,19 +294,24 @@ jobs:
fi
python3 scripts/versioning.py aggregate \
--artifacts version-artifacts --artifact-prefix "$PREFIX-" \
--artifact-suffix="-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" \
--artifact-suffix="-${GITHUB_RUN_ID}" \
--resolved-manifest resolved/resolved-versions.json \
--site-origin "$SITE_ORIGIN" --historical-origin "$HISTORICAL_ORIGIN" \
--select "$SELECTION" \
--output "${RUNNER_TEMP}/public-site" "${extra[@]}"
- name: Verify rendered download contracts
env:
DOWNLOAD_PUBLIC_DIR: ${{ runner.temp }}/public-site
run: python3 -m unittest scripts.test_download_data.DownloadDataTest.test_rendered_download_pages_have_verified_rows -v
- name: Upload publishable aggregate
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}-${{ github.run_attempt }}
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}
path: ${{ runner.temp }}/public-site
include-hidden-files: true
retention-days: ${{ github.event_name == 'pull_request' && 1 || 7 }}
if-no-files-found: error
overwrite: true

e2e:
needs: [prepare, aggregate]
Expand All @@ -309,7 +323,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ needs.prepare.outputs.source_sha }}
persist-credentials: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
Expand All @@ -327,7 +341,7 @@ jobs:
extended: true
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}-${{ github.run_attempt }}
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}
path: public-site
- name: Install Chromium test workspace
working-directory: tests/e2e
Expand Down Expand Up @@ -372,7 +386,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
ref: ${{ needs.prepare.outputs.source_sha }}
persist-credentials: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
Expand All @@ -381,7 +395,7 @@ jobs:
cache-dependency-path: tests/e2e/package-lock.json
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}-${{ github.run_attempt }}
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}
path: public-site
- name: Capture advisory visual states
working-directory: tests/e2e
Expand Down Expand Up @@ -429,7 +443,7 @@ jobs:
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}-${{ github.run_attempt }}
name: hugegraph-site-${{ needs.prepare.outputs.artifact_prefix }}-${{ github.run_id }}
path: public-site
- name: Verify fixed publication target
env:
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,6 @@ GEMINI.md
.gemini/
WARP.md
/.goal-task

__pycache__/
*.pyc
Loading
Loading