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
25 changes: 8 additions & 17 deletions .github/workflows/refresh-traffic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,35 +108,26 @@ jobs:
New-Item -ItemType Directory -Force -Path $dir | Out-Null
$snap | ConvertTo-Json -Depth 10 | Set-Content -Encoding UTF8 (Join-Path $dir "_traffic.json")

- name: Create branch, commit, push, and open PR
- name: Create branch, commit, and push
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -euo pipefail

if git diff --quiet data/_traffic.json; then
echo "No changes - skipping."
echo "No changes to data/_traffic.json - nothing to do."
exit 0
fi

BRANCH="chore/traffic-$(date -u +%Y%m%d-%H%M%S)"
BRANCH="chore/traffic-refresh"
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

# Delete old branch if exists, then create fresh
git push origin --delete "$BRANCH" 2>/dev/null || true
git checkout -b "$BRANCH"
git add data/_traffic.json
git commit -m "chore: refresh traffic snapshot $(date -u +%Y-%m-%d)"
git push origin "$BRANCH"

EXISTING_PR=$(gh pr list --state open --search "refresh traffic snapshot in:title" --json number 2>/dev/null | python3 -c "import json,sys; d=json.load(sys.stdin); print(d[0][\"number\"] if d else \"\")" || true)
if [[ -n "$EXISTING_PR" ]]; then
gh pr close "$EXISTING_PR" --comment "Superseded by new refresh." || true
fi

gh pr create \
--title "chore: refresh traffic snapshot $(date -u +%Y-%m-%d)" \
--body "Auto-generated by refresh-traffic workflow. Updates data/_traffic.json with latest GitHub Traffic and NuGet download stats." \
--base main \
--head "$BRANCH"

echo "PR opened from branch $BRANCH"
echo "Pushed to branch $BRANCH - create PR at:"
echo "https://github.com/memoryfraction/Quant.Infra.Net/compare/main...$BRANCH?expand=1"
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

[![Build & Test](https://github.com/memoryfraction/Quant.Infra.Net/actions/workflows/ci.yml/badge.svg)](https://github.com/memoryfraction/Quant.Infra.Net/actions/workflows/ci.yml) [![.NET](https://img.shields.io/badge/.NET-8.0-blueviolet)](https://dotnet.microsoft.com/download/dotnet/8.0) [![Core](https://img.shields.io/badge/Core-1.5.3-blue.svg)](https://www.nuget.org/packages/Quant.Infra.Net) [![Runtime](https://img.shields.io/badge/Runtime-1.6.0-green.svg)](https://www.nuget.org/packages/Quant.Infra.Net.Runtime) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

> A one-stop .NET **framework** for quantitative trading: multi-source data ingestion, unified broker execution (Binance/IB/Schwab), real-time alerting, and built-in portfolio analytics — go from idea to backtest to paper to live by changing config and a strategy file, not your codebase.
>
> 面向量化交易的一站式 .NET **框架**:多源数据接入、统一券商执行(币安/盈透/嘉信)、实时消息推送与内置组合分析工具——从想法到回测、模拟盘、实盘,改配置、改一个策略文件就行,不用改动你的代码库。
> The **agent-native** .NET framework for quantitative trading: AI agents drive the full backtest → paper → live pipeline through a built-in MCP server, and humans write strategies once and swap data sources, brokers, and environments by config — not code.
> 一套 .NET **agent 原生**量化框架:AI agent 通过内置 MCP server 直接驱动「回测 → 模拟 → 实盘」完整管线;人类开发者只需写一次策略,数据源、券商、回测/实盘全走配置切换,一行代码都不用改。
>
> 📖 [Documentation / GitHub Pages](https://memoryfraction.github.io/Quant.Infra.Net/) · 📦 [NuGet packages](https://www.nuget.org/profiles/memoryfraction)

Expand Down
2 changes: 1 addition & 1 deletion docs/readme-ch.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build & Test](https://github.com/memoryfraction/Quant.Infra.Net/actions/workflows/ci.yml/badge.svg)](https://github.com/memoryfraction/Quant.Infra.Net/actions/workflows/ci.yml) [![.NET](https://img.shields.io/badge/.NET-8.0-blueviolet)](https://dotnet.microsoft.com/download/dotnet/8.0) [![Version](https://img.shields.io/badge/Version-1.5.1-blue.svg)](https://github.com/memoryfraction/Quant.Infra.Net/releases) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

> 面向量化交易的一站式 .NET **框架**:多源数据接入、统一券商执行(币安/盈透/嘉信)、实时消息推送与内置组合分析工具——从想法到回测、模拟盘、实盘,改配置、改一个策略文件就行,不用改动你的代码库
> 一套 .NET **agent 原生**量化框架:AI agent 通过内置 MCP server 直接驱动「回测 → 模拟 → 实盘」完整管线;人类开发者只需写一次策略,数据源、券商、回测/实盘全走配置切换,一行代码都不用改

> 📖 [文档 / GitHub Pages](https://memoryfraction.github.io/Quant.Infra.Net/)

Expand Down
2 changes: 1 addition & 1 deletion docs/readme-en.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build & Test](https://github.com/memoryfraction/Quant.Infra.Net/actions/workflows/ci.yml/badge.svg)](https://github.com/memoryfraction/Quant.Infra.Net/actions/workflows/ci.yml) [![.NET](https://img.shields.io/badge/.NET-8.0-blueviolet)](https://dotnet.microsoft.com/download/dotnet/8.0) [![Version](https://img.shields.io/badge/Version-1.5.1-blue.svg)](https://github.com/memoryfraction/Quant.Infra.Net/releases) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

> A one-stop .NET **framework** for quantitative trading: multi-source data ingestion, unified broker execution (Binance/IB/Schwab), real-time alerting, and built-in portfolio analytics — go from idea to backtest to paper to live by changing config and a strategy file, not your codebase.
> The **agent-native** .NET framework for quantitative trading: AI agents drive the full backtest → paper → live pipeline through a built-in MCP server, and humans write strategies once and swap data sources, brokers, and environments by config — not code.

> 📖 [Documentation / GitHub Pages](https://memoryfraction.github.io/Quant.Infra.Net/)

Expand Down
Loading