Repository navigation
fix(ci): restore reachable standards workflow pins #105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,7 +12,7 @@ permissions: | |
| id-token: write | ||
| jobs: | ||
| scorecard: | ||
| uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@7fdc2705df74b4e352d2a1cde3e87a5923fdf329 | ||
| uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@fad242d35291de1898242d6737ba02b74a59a2f2 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- workflow ---'
cat -n .github/workflows/scorecard.yml | sed -n '1,35p'
printf '%s\n' '--- repository references ---'
rg -n -C 3 '092dedada188f56c5915f74a5fd40aac093742c3|fad242d35291de1898242d6737ba02b74a59a2f2|scorecard-reusable' .github README.md . 2>/dev/null | head -200
printf '%s\n' '--- remotes ---'
git remote -vRepository: hyperpolymath/conative-gating Length of output: 3130 🏁 Script executed: #!/bin/bash
set -eu
python3 - <<'PY'
import json, urllib.request
repo = "hyperpolymath/standards"
for ref in [
"fad242d35291de1898242d6737ba02b74a59a2f2",
"092dedada188f56c5915f74a5fd40aac093742c3",
]:
url = f"https://api.github.com/repos/{repo}/commits/{ref}"
try:
with urllib.request.urlopen(url, timeout=15) as response:
data = json.load(response)
print(json.dumps({
"requested": ref,
"resolved": data.get("sha"),
"message": data.get("commit", {}).get("message", "").splitlines()[0],
"html_url": data.get("html_url"),
}))
except Exception as exc:
print(json.dumps({"requested": ref, "error": str(exc)}))
PYRepository: hyperpolymath/conative-gating Length of output: 577 🏁 Script executed: #!/bin/bash
set -eu
repo='hyperpolymath/standards'
for ref in \
fad242d35291de1898242d6737ba02b74a59a2f2 \
092dedada188f56c5915f74a5fd40aac093742c3
do
printf '%s\n' "--- $ref ---"
curl -ksSfL "https://api.github.com/repos/$repo/commits/$ref" |
python3 -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps({"sha":d.get("sha"),"message":d.get("commit",{}).get("message","").splitlines()[0],"date":d.get("commit",{}).get("author",{}).get("date"),"url":d.get("html_url")}, sort_keys=True))'
doneRepository: hyperpolymath/conative-gating Length of output: 831 Use the approved reusable workflow revision. The current pin resolves to 🤖 Prompt for AI Agents |
||
| permissions: | ||
| contents: read | ||
| security-events: write | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -13,5 +13,5 @@ jobs: | |
| scan: | ||
| permissions: | ||
| contents: read | ||
| uses: hyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml@7fdc2705df74b4e352d2a1cde3e87a5923fdf329 | ||
| uses: hyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml@fad242d35291de1898242d6737ba02b74a59a2f2 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- workflow pins ---'
for f in .github/workflows/governance.yml .github/workflows/hypatia-scan.yml .github/workflows/mirror.yml .github/workflows/rust-ci.yml .github/workflows/scorecard.yml .github/workflows/secret-scanner.yml; do
if [ -f "$f" ]; then
printf '\n[%s]\n' "$f"
nl -ba "$f" | sed -n '1,28p'
fi
done
printf '%s\n' '--- references to candidate SHAs ---'
rg -n -F -e '092dedada188f56c5915f74a5fd40aac093742c3' -e 'fad242d35291de1898242d6737ba02b74a59a2f2' .github README.md . 2>/dev/null | head -200Repository: hyperpolymath/conative-gating Length of output: 1570 🌐 Web query:
💡 Result: The string 092dedada188f56c5915f74a5fd40aac093742c3 refers to a specific commit SHA within the GitHub repository hyperpolymath/standards [1]. This repository maintains a collection of standardized CI configurations used across the hyperpolymath estate [2][3]. The file secret-scanner-reusable.yml is a canonical reusable GitHub Actions workflow designed to perform secret scanning on repositories [4][5]. It consolidates multiple scanning tools—including gitleaks, rust-secrets, and shell-secrets—into a single, standardized "scan" job [4][6][3]. This reusable workflow was created to replace legacy, repository-specific secret scanning configurations with a uniform, easily maintainable wrapper [5][6][2]. In many hyperpolymath repositories, the CI workflow.github/workflows/secret-scanner.yml has been updated to call this reusable template instead of running individual jobs [5][6][2]. To ensure these scanners function correctly, the calling repository must grant the necessary job-level permissions (specifically actions: read and pull-requests: write), as GitHub enforces that a called reusable workflow cannot request higher permissions than its caller [4][7]. Failure to configure these permissions correctly often results in a startup_failure during CI runs [4][7]. Citations:
🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- workflow pins with portable line numbering ---'
for f in .github/workflows/governance.yml .github/workflows/hypatia-scan.yml .github/workflows/mirror.yml .github/workflows/rust-ci.yml .github/workflows/scorecard.yml .github/workflows/secret-scanner.yml; do
printf '\n[%s]\n' "$f"
sed -n '1,28p' "$f" | awk '{printf "%4d %s\n", NR, $0}'
done
printf '%s\n' '--- candidate commit objects ---'
for sha in fad242d35291de1898242d6737ba02b74a59a2f2 092dedada188f56c5915f74a5fd40aac093742c3; do
printf '\n[%s]\n' "$sha"
curl -fsS -H 'Accept: application/vnd.github+json' \
"https://api.github.com/repos/hyperpolymath/standards/commits/$sha" |
python3 -c 'import json,sys; d=json.load(sys.stdin); print({"sha":d.get("sha"),"message":d.get("commit",{}).get("message","").splitlines()[0],"html_url":d.get("html_url")})'
done
printf '%s\n' '--- repository metadata ---'
git remote -v | head -4
git status --shortRepository: hyperpolymath/conative-gating Length of output: 4278 Confirm the approved reusable workflow revision. This line pins 🤖 Prompt for AI Agents |
||
| secrets: inherit | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: hyperpolymath/conative-gating
Length of output: 819
🏁 Script executed:
Repository: hyperpolymath/conative-gating
Length of output: 819
🏁 Script executed:
Repository: hyperpolymath/conative-gating
Length of output: 10002
Confirm the reusable workflow pin before merging.
The caller pins
hyperpolymath/standardstofad242d35291de1898242d6737ba02b74a59a2f2, but the stated objective names092dedada188f56c5915f74a5fd40aac093742c3. Both SHAs are valid commits, but they select different revisions. Confirm that the newer SHA is approved.🤖 Prompt for AI Agents