Skip to content

Commit aea6977

Browse files
JohnRDOrazioclaude
andcommitted
fix: deploy all docs on first tag or manual trigger
When there is no previous tag to diff against (first deployment) or when triggered manually via workflow_dispatch, deploy all documents instead of none. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f499b08 commit aea6977

1 file changed

Lines changed: 30 additions & 22 deletions

File tree

.github/workflows/deploy-docs.yml

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,6 @@ jobs:
2525
- name: Detect changed documents
2626
id: changes
2727
run: |
28-
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
29-
PREV_TAG=$(git tag --sort=-creatordate | head -2 | tail -1)
30-
if [ -n "$PREV_TAG" ] && [ "$PREV_TAG" != "$GITHUB_REF_NAME" ]; then
31-
DIFF_BASE="$PREV_TAG"
32-
else
33-
DIFF_BASE="HEAD~1"
34-
fi
35-
else
36-
DIFF_BASE="HEAD~1"
37-
fi
38-
39-
echo "Comparing against: $DIFF_BASE"
40-
CHANGED=$(git diff --name-only "$DIFF_BASE" HEAD 2>/dev/null || echo "FIRST_RUN")
41-
4228
# All governed documents: directory/filename (without .md)
4329
DOCS=(
4430
"ai-governance/ai-vetting-criteria"
@@ -54,16 +40,38 @@ jobs:
5440
"standards/committees"
5541
)
5642
57-
CHANGED_DOCS=""
58-
for DOC in "${DOCS[@]}"; do
59-
if echo "$CHANGED" | grep -q "${DOC}.md"; then
60-
BASENAME=$(basename "$DOC")
61-
echo " ${DOC}.md changed"
62-
CHANGED_DOCS="${CHANGED_DOCS:+$CHANGED_DOCS }${DOC}"
43+
# Determine diff base
44+
DEPLOY_ALL=false
45+
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
46+
PREV_TAG=$(git tag --sort=-creatordate | head -2 | tail -1)
47+
if [ -n "$PREV_TAG" ] && [ "$PREV_TAG" != "$GITHUB_REF_NAME" ]; then
48+
DIFF_BASE="$PREV_TAG"
6349
else
64-
echo " ${DOC}.md unchanged"
50+
# First tag ever — deploy everything
51+
DEPLOY_ALL=true
6552
fi
66-
done
53+
else
54+
# Manual trigger — deploy everything
55+
DEPLOY_ALL=true
56+
fi
57+
58+
CHANGED_DOCS=""
59+
if [ "$DEPLOY_ALL" = true ]; then
60+
echo "First deployment or manual trigger — deploying all documents."
61+
CHANGED_DOCS="${DOCS[*]}"
62+
else
63+
echo "Comparing against: $DIFF_BASE"
64+
CHANGED=$(git diff --name-only "$DIFF_BASE" HEAD 2>/dev/null || echo "")
65+
66+
for DOC in "${DOCS[@]}"; do
67+
if echo "$CHANGED" | grep -q "${DOC}.md"; then
68+
echo " ${DOC}.md changed"
69+
CHANGED_DOCS="${CHANGED_DOCS:+$CHANGED_DOCS }${DOC}"
70+
else
71+
echo " ${DOC}.md unchanged"
72+
fi
73+
done
74+
fi
6775
6876
echo "changed_docs=$CHANGED_DOCS" >> "$GITHUB_OUTPUT"
6977

0 commit comments

Comments
 (0)