Skip to content

Commit 0a6d6cd

Browse files
committed
feat: Create atr-release.yml for Apache Trusted Releases
1 parent e8b3a5c commit 0a6d6cd

8 files changed

Lines changed: 2281 additions & 0 deletions

File tree

.github/workflows/atr-release-test.yml

Lines changed: 439 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/atr-release.yml

Lines changed: 470 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/build-and-publish.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,50 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16+
# ╔═══════════════════════════════════════════════════════════════════════════╗
17+
# ║ CONTINUOUS DEPLOYMENT WORKFLOW ║
18+
# ║ (Development Builds) ║
19+
# ╚═══════════════════════════════════════════════════════════════════════════╝
20+
#
21+
# PURPOSE: Automated development builds and Docker image publishing for CI/CD
22+
#
23+
# WHEN TO USE:
24+
# -----------
25+
# ✅ Automatic on every merge to main
26+
# ✅ Testing pull requests (build + test only, no publish)
27+
# ✅ Development/testing Docker images
28+
# ❌ DO NOT use for official ASF releases (use release-publish.yml instead)
29+
#
30+
# COMPARISON WITH OTHER WORKFLOWS:
31+
# --------------------------------
32+
# build-and-publish.yml (THIS FILE):
33+
# - Purpose: Development CI/CD
34+
# - Trigger: Automatic (push/PR)
35+
# - Docker Hub: Personal namespace
36+
# - ASF Vote: Not required
37+
# - Use for: Daily development work
38+
#
39+
# release-publish.yml:
40+
# - Purpose: Official ASF releases
41+
# - Trigger: Manual (after vote)
42+
# - Docker Hub: apache/solr-mcp
43+
# - ASF Vote: Required (72 hours)
44+
# - Use for: Production releases
45+
#
46+
# nightly-build.yml:
47+
# - Purpose: Nightly builds
48+
# - Trigger: Scheduled (2 AM UTC)
49+
# - Docker Hub: apache/solr-mcp-nightly
50+
# - Use for: Latest unstable builds
51+
#
52+
# atr-release.yml:
53+
# - Purpose: Future ATR automation
54+
# - Trigger: Manual (after prerequisites)
55+
# - Status: Blocked (needs automated signing)
56+
# - Use for: When ATR is ready
57+
#
58+
# ────────────────────────────────────────────────────────────────────────────
59+
#
1660
# GitHub Actions Workflow: Build and Publish
1761
# ===========================================
1862
#

.github/workflows/nightly-build.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,50 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16+
# ╔═══════════════════════════════════════════════════════════════════════════╗
17+
# ║ NIGHTLY BUILD WORKFLOW ║
18+
# ║ (Latest Unstable Builds) ║
19+
# ╚═══════════════════════════════════════════════════════════════════════════╝
20+
#
21+
# PURPOSE: Automated nightly builds for testing latest changes
22+
#
23+
# WHEN TO USE:
24+
# -----------
25+
# ✅ Automatic daily at 2 AM UTC
26+
# ✅ For testing latest main branch changes
27+
# ✅ Provides unstable/preview builds
28+
# ✅ Publishes to apache/solr-mcp-nightly
29+
# ❌ DO NOT use for production releases
30+
#
31+
# COMPARISON WITH OTHER WORKFLOWS:
32+
# --------------------------------
33+
# nightly-build.yml (THIS FILE):
34+
# - Purpose: Nightly builds
35+
# - Trigger: Scheduled (2 AM UTC)
36+
# - Docker Hub: apache/solr-mcp-nightly
37+
# - Stability: Unstable/preview
38+
# - Use for: Testing latest changes
39+
#
40+
# build-and-publish.yml:
41+
# - Purpose: Development CI/CD
42+
# - Trigger: Automatic (push/PR)
43+
# - Docker Hub: Personal namespace
44+
# - Use for: Daily development work
45+
#
46+
# release-publish.yml:
47+
# - Purpose: Official ASF releases
48+
# - Trigger: Manual (after vote)
49+
# - Docker Hub: apache/solr-mcp
50+
# - Stability: Stable/production
51+
# - Use for: Production releases
52+
#
53+
# atr-release.yml:
54+
# - Purpose: Future ATR automation
55+
# - Status: Blocked (needs automated signing)
56+
# - Use for: When ATR is ready
57+
#
58+
# ────────────────────────────────────────────────────────────────────────────
59+
#
1660
# Nightly Build Workflow for Apache Solr MCP
1761
# ===========================================
1862
#

.github/workflows/release-publish.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,53 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16+
# ╔═══════════════════════════════════════════════════════════════════════════╗
17+
# ║ OFFICIAL ASF RELEASE WORKFLOW ║
18+
# ║ (Production Releases Only) ║
19+
# ╚═══════════════════════════════════════════════════════════════════════════╝
20+
#
21+
# PURPOSE: Publish official Apache releases after successful ASF vote
22+
#
23+
# WHEN TO USE:
24+
# -----------
25+
# ✅ AFTER 72-hour ASF vote passes with 3+ PMC votes
26+
# ✅ For official production releases only
27+
# ✅ Publishes to apache/solr-mcp (official namespace)
28+
# ✅ Updates MCP Registry
29+
# ❌ DO NOT use for development builds (use build-and-publish.yml)
30+
# ❌ DO NOT run before vote completes
31+
#
32+
# COMPARISON WITH OTHER WORKFLOWS:
33+
# --------------------------------
34+
# release-publish.yml (THIS FILE):
35+
# - Purpose: Official ASF releases
36+
# - Trigger: Manual (after vote)
37+
# - Docker Hub: apache/solr-mcp
38+
# - MCP Registry: ✅ Yes
39+
# - ASF Vote: Required (72 hours)
40+
# - Use for: Production releases
41+
#
42+
# build-and-publish.yml:
43+
# - Purpose: Development CI/CD
44+
# - Trigger: Automatic (push/PR)
45+
# - Docker Hub: Personal namespace
46+
# - ASF Vote: Not required
47+
# - Use for: Daily development work
48+
#
49+
# nightly-build.yml:
50+
# - Purpose: Nightly builds
51+
# - Trigger: Scheduled (2 AM UTC)
52+
# - Docker Hub: apache/solr-mcp-nightly
53+
# - Use for: Latest unstable builds
54+
#
55+
# atr-release.yml:
56+
# - Purpose: Future ATR automation
57+
# - Trigger: Manual (after prerequisites)
58+
# - Status: Blocked (needs automated signing)
59+
# - Use for: When ATR is ready
60+
#
61+
# ────────────────────────────────────────────────────────────────────────────
62+
#
1663
# Official Release Publishing Workflow
1764
# =====================================
1865
#

0 commit comments

Comments
 (0)