Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions .github/workflows/boj-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
name: BoJ Server Build Trigger
on:
push:
branches: [main, master]
workflow_dispatch:
jobs:
trigger-boj:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Trigger BoJ Server (Casket/ssg-mcp)
run: |
# Send a secure trigger to boj-server to build this repository
curl -X POST "http://boj-server.local:7700/cartridges/ssg-mcp/invoke" -H "Content-Type: application/json" -d "{\"repo\": \"${{ github.repository }}\", \"branch\": \"${{ github.ref_name }}\", \"engine\": \"casket\\"}"}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Fix the malformed JSON payload in the BoJ trigger

The -d argument on this line ends with an extra escaped quote/brace after casket, which leaves the generated shell script with an unmatched " before curl can run. Replacing the GitHub expressions with literal values and running bash -n reproduces unexpected EOF while looking for matching '"', so every push to main/master will skip the trigger instead of notifying BoJ.

Useful? React with 👍 / 👎.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Point the trigger at a host GitHub Actions can actually reach

This workflow runs on ubuntu-latest, but the only endpoint it calls is http://boj-server.local:7700/.... I searched .github/, scripts/, and hooks/ for any self-hosted runner, VPN, /etc/hosts, or other network bootstrap and found no setup besides this single reference, so a normal GitHub-hosted runner has no path to that private .local host. Even after fixing the quoting bug above, pushes on main/master still will not notify the BoJ server.

Useful? React with 👍 / 👎.

continue-on-error: true
permissions: read-all
2 changes: 1 addition & 1 deletion .github/workflows/workflow-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
echo "=== Checking Action Pinning ==="
# Find any uses: lines that don't have @SHA format
# Pattern: uses: owner/repo@<40-char-hex>
unpinned=$(grep -rn "uses:" .github/workflows/ | \
unpinned=$(grep -rnE "^[[:space:]]+uses:" .github/workflows/ | \
grep -v "@[a-f0-9]\{40\}" | \
grep -v "uses: \./\|uses: docker://\|uses: actions/github-script" || true)
Expand Down
18 changes: 18 additions & 0 deletions .machine_readable/anchors/ANCHOR.a2ml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# ⚓ ANCHOR: conative-gating
# This is the canonical authority for the conative-gating repository.

id: "org.hyperpolymath.conative-gating"
version: "1.0.0"
clade: "unknown"
status: "active"

# SSG Configuration (Unified boj-server build)
ssg:
engine: "casket"
output_dir: "public"
boj_trigger: true
cartridge: "ssg-mcp"

# Relationships
parents:
- "org.hyperpolymath.boj-server"
Loading