-
Notifications
You must be signed in to change notification settings - Fork 15
chore: add automated star history chart #3
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 |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| name: Update Star History | ||
|
|
||
| on: | ||
| schedule: | ||
| # Every Monday at 04:30 UTC (12:30 Asia/Singapore) | ||
| - cron: "30 4 * * 1" | ||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| update-star-history: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v7 | ||
|
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. 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- workflow ---'
cat -n .github/workflows/star-history.yml
printf '%s\n' '--- repository references ---'
rg -n --hidden --glob '!node_modules' 'actions/checkout@|xpzouying/star-history@|actions/setup-go@' .github README.md 2>/dev/null || true
printf '%s\n' '--- published action definition ---'
curl -fsSL https://raw.githubusercontent.com/xpzouying/star-history/master/action.yml | nl -ba | sed -n '1,180p'Repository: DreamEnding/NX_MCP Length of output: 1476 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- star-history action definition ---'
curl -fsSL https://raw.githubusercontent.com/xpzouying/star-history/master/action.yml | sed -n '1,180p'
printf '%s\n' '--- checkout v7 ref ---'
curl -fsSL -H 'Accept: application/vnd.github+json' \
https://api.github.com/repos/actions/checkout/git/ref/tags/v7 |
python3 -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps({"ref":d.get("ref"),"object":d.get("object")}, indent=2))'
printf '%s\n' '--- star-history v1 ref ---'
curl -fsSL -H 'Accept: application/vnd.github+json' \
https://api.github.com/repos/xpzouying/star-history/git/ref/tags/v1 |
python3 -c 'import json,sys; d=json.load(sys.stdin); print(json.dumps({"ref":d.get("ref"),"object":d.get("object")}, indent=2))'Repository: DreamEnding/NX_MCP Length of output: 3627 Security Misconfiguration (CWE-494): Download of Code Without Integrity Check Reachability: External · Exploitability: Difficult Pin all workflow action references to immutable commits. This write-enabled job uses mutable 🧰 Tools🪛 zizmor (1.29.0)[warning] 16-17: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false (artipacked) 🤖 Prompt for AI Agents |
||
| - name: Generate star history | ||
| uses: xpzouying/star-history@v1 | ||
| with: | ||
| branch: star-history | ||
| commit-message: "chore: update star history chart" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -123,3 +123,16 @@ absolute path of `run_journal.exe`. | |
| See [architecture](docs/architecture.md), [0.1 migration](docs/migration-0.2.md), | ||
| and [real NX validation](docs/real-nx-validation.md) for implementation and | ||
| release gates. | ||
|
|
||
| ## Star History | ||
|
|
||
| <picture> | ||
| <source | ||
| media="(prefers-color-scheme: dark)" | ||
| srcset="https://raw.githubusercontent.com/DreamEnding/NX_MCP/star-history/assets/star-history-dark.svg" | ||
|
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. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win ✅ Runtime observed🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- README lines 120-140 ---'
sed -n '120,140p' README.md
printf '%s\n' '--- workflow/action references ---'
rg -n -S 'star-history|Update Star History|raw\.githubusercontent\.com|action\.yml' .github README.md action.yml 2>/dev/null || true
printf '%s\n' '--- tracked candidate files ---'
git ls-files | rg '(^|/)(README\.md|action\.yml|.*star.*history.*|.*workflow.*)$' || trueRepository: DreamEnding/NX_MCP Length of output: 1491 🏁 Script executed: #!/bin/bash
set -eu
printf '%s\n' '--- star-history workflow ---'
cat -n .github/workflows/star-history.yml
printf '%s\n' '--- published file status ---'
for url in \
'https://raw.githubusercontent.com/DreamEnding/NX_MCP/star-history/assets/star-history.svg' \
'https://raw.githubusercontent.com/DreamEnding/NX_MCP/star-history/assets/star-history-dark.svg'
do
printf '%s\n' "$url"
curl -L --silent --show-error --output /tmp/star-history-check.svg \
--write-out 'HTTP %{http_code}, bytes %{size_download}\n' "$url"
done
printf '%s\n' '--- action metadata ---'
curl -L --silent --show-error \
https://raw.githubusercontent.com/xpzouying/star-history/master/action.yml |
sed -n '1,220p'Repository: DreamEnding/NX_MCP Length of output: 4013 Publish the initial chart before exposing these URLs. Both URLs currently return HTTP 404 because the 🤖 Prompt for AI Agents |
||
| /> | ||
| <img | ||
| alt="Star History Chart" | ||
| src="https://raw.githubusercontent.com/DreamEnding/NX_MCP/star-history/assets/star-history.svg" | ||
| /> | ||
| </picture> | ||
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: DreamEnding/NX_MCP
Length of output: 5463
🏁 Script executed:
Repository: DreamEnding/NX_MCP
Length of output: 6292
🌐 Web query:
GitHub Actions workflow concurrency default multiple runs can run concurrently official documentation💡 Result:
The default behavior of GitHub Actions is to allow multiple runs of the same workflow, as well as multiple jobs, to execute concurrently [1][2][3]. This means that by default, there are no restrictions on how many instances of a workflow or job can run at the same time [1][2]. If you wish to limit or manage this concurrency, you can use the concurrency keyword in your workflow file [1][4][5]. When this keyword is defined, it creates a concurrency group, ensuring that only one workflow run or job within that group runs at a time [2][3]. By default, when a new workflow run is triggered in a concurrency group that already has a run in progress: - The new run will enter a pending state [2][5]. - Any existing pending run within that same group will be automatically canceled [2][5]. - The new run will then proceed when the currently running job finishes [2][3]. You can modify this default cancellation behavior by using the optional queue property within the concurrency settings [6]: - single (default): At most one pending run is allowed; new runs cancel any existing pending runs [2][6]. - max: Allows up to 100 pending runs to be queued in the group before any additional runs are canceled [2][6].
Citations:
Serialize chart publishing runs.
The action force-pushes
HEADtostar-history. Without workflow-levelconcurrency, a manual dispatch and scheduled run can publish concurrently, allowing an older run to overwrite a newer chart. Add a concurrency group with an explicit cancellation or queueing policy.🤖 Prompt for AI Agents