Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/atom-im_daily-papers.json
T

1 line
25 KiB
JSON

{"repo": "atom-im/daily-papers", "files": {".github/workflows/reports.yml": {"14390b5d5015269feb76807b40fceac54fc7e162": {"t": 1785747024.226151, "n": 5135, "h": "5b191a106e1fb274", "c": "name: Lineage reports\n\n# Weekly cron generates every missing complete period (weeks -> months -> quarters)\n# via DeepSeek and deploys. Wednesday: the Mon/Tue daily fetches have landed the\n# weekend submission-day papers by then, so last week is complete per reports.py's\n# end+2d rule. Manual dispatch can (re)generate one specific report id.\non:\n schedule:\n - cron: \"17 7 * * 3\"\n workflow_dispatch:\n inputs:\n id:\n description: \"Report id (2026-W26 / 2026-M06 / 2026-Q2); blank = fill all missing\"\n required: false\n default: \"\"\n model:\n description: \"Generation model override; blank = configured provider default\"\n required: false\n default: \"\"\n\npermissions:\n contents: write\n pages: write\n id-token: write\n\nconcurrency:\n group: pages\n cancel-in-progress: false\n\njobs:\n reports:\n runs-on: ubuntu-latest\n environment:\n name: github-pages\n url: ${{ steps.deploy.outputs.page_url }}\n steps:\n - name: Checkout code (main)\n uses: actions/checkout@v5\n\n - name: Require initialized personal data\n uses: ./.github/actions/check-data\n\n - name: Checkout data branch\n uses: actions/checkout@v5\n with:\n ref: data\n path: data-store\n fetch-depth: 0\n\n - name: Set up uv\n uses: astral-sh/setup-uv@v8.2.0\n with:\n enable-cache: true\n\n - name: Install dependencies\n run: uv sync --frozen\n\n - name: Generate reports\n env:\n AI_PROVIDER_MODE: ${{ vars.AI_PROVIDER_MODE }}\n AI_API_KEY: ${{ secrets.AI_API_KEY }}\n AI_BASE_URL: ${{ vars.AI_BASE_URL }}\n OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}\n OPENAI_BASE_URL: ${{ vars.OPENAI_BASE_URL }}\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n DEEPSEEK_BASE_URL: ${{ vars.DEEPSEEK_BASE_URL }}\n EMBEDDING_MODEL: ${{ vars.EMBEDDING_MODEL }}\n CHAT_MODEL: ${{ vars.CHAT_MODEL }}\n REPORTS_MODEL: ${{ vars.REPORTS_MODEL }}\n REPORT_ID: ${{ github.event.inputs.id }}\n MODEL_ARG: ${{ github.event.inputs.model && format('--model {0}', github.event.inputs.model) || '' }}\n run: |\n if [ -n \"$REPORT_ID\" ]; then\n uv run python reports.py --site-data-dir data-store/site/data \\\n auto --id \"$REPORT_ID\" $MODEL_ARG\n else\n uv run python reports.py --site-data-dir data-store/site/data \\\n fill $MODEL_ARG\n fi\n\n - name: Commit data back to the data branch\n id: commit\n run: |\n cd data-store\n git config user.name \"github-actions[bot]\"\n git config user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\n git add site/data/reports\n if git diff --cached --quiet; then\n echo \"No new reports.\"\n echo \"changed=false\" >> \"$GITHUB_OUTPUT\"\n else\n git commit -m \"data: lineage reports $(date -u +%Y-%m-%d)\"\n git pull --rebase origin data\n git push origin HEAD:data\n echo \"changed=true\" >> \"$GITHUB_OUTPUT\"\n fi\n\n - name: Notify via Bark\n if: steps.commit.outputs.changed == 'true'\n env:\n BARK_KEY: ${{ secrets.BARK_KEY }}\n SITE_URL: ${{ vars.SITE_URL }}\n run: |\n [ -n \"$BARK_KEY\" ] || { echo \"No BARK_KEY; skipping.\"; exit 0; }\n latest=$(python3 -c \"import json;idx=json.load(open('data-store/site/data/reports/index.json'));print(idx[0]['id'] if idx else '')\")\n site_url=\"$SITE_URL\"\n if [ -z \"$site_url\" ]; then\n site_url=\"https://${GITHUB_REPOSITORY_OWNER}.github.io/${GITHUB_REPOSITORY#*/}\"\n fi\n site_url=\"${site_url%/}\"\n curl -s -X POST \"https://api.day.app/$BARK_KEY\" \\\n --data-urlencode \"title=谱系回顾已更新\" \\\n --data-urlencode \"body=最新:$latest\" \\\n --data-urlencode \"url=$site_url/?report=$latest\" >/dev/null || true\n\n - name: Assemble site (code assets + data) and cache-bust\n if: steps.commit.outputs.changed == 'true'\n run: |\n mkdir -p site/data\n cp -R data-store/site/data/. site/data/\n v=\"${GITHUB_SHA::8}\"\n sed -i \"s#assets/style.css#assets/style.css?v=$v#g; s#assets/app.js#assets/app.js?v=$v#g\" site/index.html\n echo \"Assembled site/ with $(ls site/data/*.json | wc -l) data files; versioned assets v=$v\"\n\n - name: Configure Pages\n if: steps.commit.outputs.changed == 'true'\n uses: actions/configure-pages@v6\n\n - name: Upload site artifact\n if: steps.commit.outputs.changed == 'true'\n uses: actions/upload-pages-artifact@v5\n with:\n path: site\n\n - name: Deploy to GitHub Pages\n if: steps.commit.outputs.changed == 'true'\n id: deploy\n uses: actions/deploy-pages@v5\n continue-on-error: true\n\n - name: Retry deploy (transient Pages failure)\n if: steps.commit.outputs.changed == 'true' && steps.deploy.outcome == 'failure'\n uses: actions/deploy-pages@v5\n"}, "cf5f988116a758e20666945d0b378f4cc978a5ab": {"t": 1785769876.3856578, "n": 5078, "h": "d0111917ae816503", "c": "name: Lineage reports\n\n# Weekly cron generates every missing complete period (weeks -> months -> quarters)\n# via DeepSeek and deploys. Wednesday: the Mon/Tue daily fetches have landed the\n# weekend submission-day papers by then, so last week is complete per reports.py's\n# end+2d rule. Manual dispatch can (re)generate one specific report id.\non:\n schedule:\n - cron: \"17 7 * * 3\"\n workflow_dispatch:\n inputs:\n id:\n description: \"Report id (2026-W26 / 2026-M06 / 2026-Q2); blank = fill all missing\"\n required: false\n default: \"\"\n model:\n description: \"Generation model override; blank = configured provider default\"\n required: false\n default: \"\"\n\npermissions:\n contents: write\n pages: write\n id-token: write\n\nconcurrency:\n group: pages\n cancel-in-progress: false\n\njobs:\n reports:\n runs-on: ubuntu-latest\n environment:\n name: github-pages\n url: ${{ steps.deploy.outputs.page_url }}\n steps:\n - name: Checkout code (main)\n uses: actions/checkout@v5\n\n - name: Require initialized personal data\n uses: ./.github/actions/check-data\n\n - name: Checkout data branch\n uses: actions/checkout@v5\n with:\n ref: data\n path: data-store\n fetch-depth: 0\n\n - name: Set up uv\n uses: astral-sh/setup-uv@v8.2.0\n with:\n enable-cache: true\n\n - name: Install dependencies\n run: uv sync --frozen\n\n - name: Generate reports\n env:\n AI_API_KEY: ${{ secrets.AI_API_KEY }}\n AI_BASE_URL: ${{ vars.AI_BASE_URL }}\n OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}\n OPENAI_BASE_URL: ${{ vars.OPENAI_BASE_URL }}\n DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}\n DEEPSEEK_BASE_URL: ${{ vars.DEEPSEEK_BASE_URL }}\n EMBEDDING_MODEL: ${{ vars.EMBEDDING_MODEL }}\n CHAT_MODEL: ${{ vars.CHAT_MODEL }}\n REPORTS_MODEL: ${{ vars.REPORTS_MODEL }}\n REPORT_ID: ${{ github.event.inputs.id }}\n MODEL_ARG: ${{ github.event.inputs.model && format('--model {0}', github.event.inputs.model) || '' }}\n run: |\n if [ -n \"$REPORT_ID\" ]; then\n uv run python reports.py --site-data-dir data-store/site/data \\\n auto --id \"$REPORT_ID\" $MODEL_ARG\n else\n uv run python reports.py --site-data-dir data-store/site/data \\\n fill $MODEL_ARG\n fi\n\n - name: Commit data back to the data branch\n id: commit\n run: |\n cd data-store\n git config user.name \"github-actions[bot]\"\n git config user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\n git add site/data/reports\n if git diff --cached --quiet; then\n echo \"No new reports.\"\n echo \"changed=false\" >> \"$GITHUB_OUTPUT\"\n else\n git commit -m \"data: lineage reports $(date -u +%Y-%m-%d)\"\n git pull --rebase origin data\n git push origin HEAD:data\n echo \"changed=true\" >> \"$GITHUB_OUTPUT\"\n fi\n\n - name: Notify via Bark\n if: steps.commit.outputs.changed == 'true'\n env:\n BARK_KEY: ${{ secrets.BARK_KEY }}\n SITE_URL: ${{ vars.SITE_URL }}\n run: |\n [ -n \"$BARK_KEY\" ] || { echo \"No BARK_KEY; skipping.\"; exit 0; }\n latest=$(python3 -c \"import json;idx=json.load(open('data-store/site/data/reports/index.json'));print(idx[0]['id'] if idx else '')\")\n site_url=\"$SITE_URL\"\n if [ -z \"$site_url\" ]; then\n site_url=\"https://${GITHUB_REPOSITORY_OWNER}.github.io/${GITHUB_REPOSITORY#*/}\"\n fi\n site_url=\"${site_url%/}\"\n curl -s -X POST \"https://api.day.app/$BARK_KEY\" \\\n --data-urlencode \"title=谱系回顾已更新\" \\\n --data-urlencode \"body=最新:$latest\" \\\n --data-urlencode \"url=$site_url/?report=$latest\" >/dev/null || true\n\n - name: Assemble site (code assets + data) and cache-bust\n if: steps.commit.outputs.changed == 'true'\n run: |\n mkdir -p site/data\n cp -R data-store/site/data/. site/data/\n v=\"${GITHUB_SHA::8}\"\n sed -i \"s#assets/style.css#assets/style.css?v=$v#g; s#assets/app.js#assets/app.js?v=$v#g\" site/index.html\n echo \"Assembled site/ with $(ls site/data/*.json | wc -l) data files; versioned assets v=$v\"\n\n - name: Configure Pages\n if: steps.commit.outputs.changed == 'true'\n uses: actions/configure-pages@v6\n\n - name: Upload site artifact\n if: steps.commit.outputs.changed == 'true'\n uses: actions/upload-pages-artifact@v5\n with:\n path: site\n\n - name: Deploy to GitHub Pages\n if: steps.commit.outputs.changed == 'true'\n id: deploy\n uses: actions/deploy-pages@v5\n continue-on-error: true\n\n - name: Retry deploy (transient Pages failure)\n if: steps.commit.outputs.changed == 'true' && steps.deploy.outcome == 'failure'\n uses: actions/deploy-pages@v5\n"}, "3973317473e00d9acad5eaa12cf9c65270bae011": {"t": 1785769878.1924021, "n": 4732, "h": "230b94f8ee447b62", "c": "name: Lineage reports\n\n# Weekly cron generates every missing complete period (weeks -> months -> quarters)\n# via DeepSeek and deploys. Wednesday: the Mon/Tue daily fetches have landed the\n# weekend submission-day papers by then, so last week is complete per reports.py's\n# end+2d rule. Manual dispatch can (re)generate one specific report id.\non:\n schedule:\n - cron: \"17 7 * * 3\"\n workflow_dispatch:\n inputs:\n id:\n description: \"Report id (2026-W26 / 2026-M06 / 2026-Q2); blank = fill all missing\"\n required: false\n default: \"\"\n model:\n description: \"Generation model (gateway id); blank = default\"\n required: false\n default: \"\"\n\npermissions:\n contents: write\n pages: write\n id-token: write\n\nconcurrency:\n group: pages\n cancel-in-progress: false\n\njobs:\n reports:\n runs-on: ubuntu-latest\n environment:\n name: github-pages\n url: ${{ steps.deploy.outputs.page_url }}\n steps:\n - name: Checkout code (main)\n uses: actions/checkout@v5\n\n - name: Require initialized personal data\n uses: ./.github/actions/check-data\n\n - name: Checkout data branch\n uses: actions/checkout@v5\n with:\n ref: data\n path: data-store\n fetch-depth: 0\n\n - name: Set up uv\n uses: astral-sh/setup-uv@v8.2.0\n with:\n enable-cache: true\n\n - name: Install dependencies\n run: uv sync --frozen\n\n - name: Generate reports\n env:\n AI_API_KEY: ${{ secrets.AI_API_KEY }}\n AI_BASE_URL: ${{ vars.AI_BASE_URL }}\n REPORTS_MODEL: ${{ vars.REPORTS_MODEL }}\n REPORT_ID: ${{ github.event.inputs.id }}\n MODEL_ARG: ${{ github.event.inputs.model && format('--model {0}', github.event.inputs.model) || '' }}\n run: |\n if [ -n \"$REPORT_ID\" ]; then\n uv run python reports.py --site-data-dir data-store/site/data \\\n auto --id \"$REPORT_ID\" $MODEL_ARG\n else\n uv run python reports.py --site-data-dir data-store/site/data \\\n fill $MODEL_ARG\n fi\n\n - name: Commit data back to the data branch\n id: commit\n run: |\n cd data-store\n git config user.name \"github-actions[bot]\"\n git config user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\n git add site/data/reports\n if git diff --cached --quiet; then\n echo \"No new reports.\"\n echo \"changed=false\" >> \"$GITHUB_OUTPUT\"\n else\n git commit -m \"data: lineage reports $(date -u +%Y-%m-%d)\"\n git pull --rebase origin data\n git push origin HEAD:data\n echo \"changed=true\" >> \"$GITHUB_OUTPUT\"\n fi\n\n - name: Notify via Bark\n if: steps.commit.outputs.changed == 'true'\n env:\n BARK_KEY: ${{ secrets.BARK_KEY }}\n SITE_URL: ${{ vars.SITE_URL }}\n run: |\n [ -n \"$BARK_KEY\" ] || { echo \"No BARK_KEY; skipping.\"; exit 0; }\n latest=$(python3 -c \"import json;idx=json.load(open('data-store/site/data/reports/index.json'));print(idx[0]['id'] if idx else '')\")\n site_url=\"$SITE_URL\"\n if [ -z \"$site_url\" ]; then\n site_url=\"https://${GITHUB_REPOSITORY_OWNER}.github.io/${GITHUB_REPOSITORY#*/}\"\n fi\n site_url=\"${site_url%/}\"\n curl -s -X POST \"https://api.day.app/$BARK_KEY\" \\\n --data-urlencode \"title=谱系回顾已更新\" \\\n --data-urlencode \"body=最新:$latest\" \\\n --data-urlencode \"url=$site_url/?report=$latest\" >/dev/null || true\n\n - name: Assemble site (code assets + data) and cache-bust\n if: steps.commit.outputs.changed == 'true'\n run: |\n mkdir -p site/data\n cp -R data-store/site/data/. site/data/\n v=\"${GITHUB_SHA::8}\"\n sed -i \"s#assets/style.css#assets/style.css?v=$v#g; s#assets/app.js#assets/app.js?v=$v#g\" site/index.html\n echo \"Assembled site/ with $(ls site/data/*.json | wc -l) data files; versioned assets v=$v\"\n\n - name: Configure Pages\n if: steps.commit.outputs.changed == 'true'\n uses: actions/configure-pages@v6\n\n - name: Upload site artifact\n if: steps.commit.outputs.changed == 'true'\n uses: actions/upload-pages-artifact@v5\n with:\n path: site\n\n - name: Deploy to GitHub Pages\n if: steps.commit.outputs.changed == 'true'\n id: deploy\n uses: actions/deploy-pages@v5\n continue-on-error: true\n\n - name: Retry deploy (transient Pages failure)\n if: steps.commit.outputs.changed == 'true' && steps.deploy.outcome == 'failure'\n uses: actions/deploy-pages@v5\n"}, "c1e04ccf501f3a993219765bbf4561ae9aaffd98": {"t": 1785769880.849077, "n": 4572, "h": "495bd0b005f8cbff", "c": "name: Lineage reports\n\n# Weekly cron generates every missing complete period (weeks -> months -> quarters)\n# via DeepSeek and deploys. Wednesday: the Mon/Tue daily fetches have landed the\n# weekend submission-day papers by then, so last week is complete per reports.py's\n# end+2d rule. Manual dispatch can (re)generate one specific report id.\non:\n schedule:\n - cron: \"17 7 * * 3\"\n workflow_dispatch:\n inputs:\n id:\n description: \"Report id (2026-W26 / 2026-M06 / 2026-Q2); blank = fill all missing\"\n required: false\n default: \"\"\n model:\n description: \"Generation model (gateway id); blank = default\"\n required: false\n default: \"\"\n\npermissions:\n contents: write\n pages: write\n id-token: write\n\nconcurrency:\n group: pages\n cancel-in-progress: false\n\njobs:\n reports:\n runs-on: ubuntu-latest\n environment:\n name: github-pages\n url: ${{ steps.deploy.outputs.page_url }}\n steps:\n - name: Checkout code (main)\n uses: actions/checkout@v5\n\n - name: Require initialized personal data\n uses: ./.github/actions/check-data\n\n - name: Checkout data branch\n uses: actions/checkout@v5\n with:\n ref: data\n path: data-store\n fetch-depth: 0\n\n - name: Set up uv\n uses: astral-sh/setup-uv@v8.2.0\n with:\n enable-cache: true\n\n - name: Install dependencies\n run: uv sync --frozen\n\n - name: Generate reports\n env:\n AI_API_KEY: ${{ secrets.AI_API_KEY }}\n AI_BASE_URL: ${{ vars.AI_BASE_URL }}\n REPORTS_MODEL: ${{ vars.REPORTS_MODEL }}\n REPORT_ID: ${{ github.event.inputs.id }}\n MODEL_ARG: ${{ github.event.inputs.model && format('--model {0}', github.event.inputs.model) || '' }}\n run: |\n if [ -n \"$REPORT_ID\" ]; then\n uv run python reports.py --site-data-dir data-store/site/data \\\n auto --id \"$REPORT_ID\" $MODEL_ARG\n else\n uv run python reports.py --site-data-dir data-store/site/data \\\n fill $MODEL_ARG\n fi\n\n - name: Commit data back to the data branch\n id: commit\n run: |\n cd data-store\n git config user.name \"github-actions[bot]\"\n git config user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\n git add site/data/reports\n if git diff --cached --quiet; then\n echo \"No new reports.\"\n echo \"changed=false\" >> \"$GITHUB_OUTPUT\"\n else\n git commit -m \"data: lineage reports $(date -u +%Y-%m-%d)\"\n git pull --rebase origin data\n git push origin HEAD:data\n echo \"changed=true\" >> \"$GITHUB_OUTPUT\"\n fi\n\n - name: Notify via Bark\n if: steps.commit.outputs.changed == 'true'\n env:\n BARK_KEY: ${{ secrets.BARK_KEY }}\n run: |\n [ -n \"$BARK_KEY\" ] || { echo \"No BARK_KEY; skipping.\"; exit 0; }\n latest=$(python3 -c \"import json;idx=json.load(open('data-store/site/data/reports/index.json'));print(idx[0]['id'] if idx else '')\")\n site_url=\"https://${GITHUB_REPOSITORY_OWNER}.github.io/${GITHUB_REPOSITORY#*/}\"\n curl -s -X POST \"https://api.day.app/$BARK_KEY\" \\\n --data-urlencode \"title=谱系回顾已更新\" \\\n --data-urlencode \"body=最新:$latest\" \\\n --data-urlencode \"url=$site_url/?report=$latest\" >/dev/null || true\n\n - name: Assemble site (code assets + data) and cache-bust\n if: steps.commit.outputs.changed == 'true'\n run: |\n mkdir -p site/data\n cp -R data-store/site/data/. site/data/\n v=\"${GITHUB_SHA::8}\"\n sed -i \"s#assets/style.css#assets/style.css?v=$v#g; s#assets/app.js#assets/app.js?v=$v#g\" site/index.html\n echo \"Assembled site/ with $(ls site/data/*.json | wc -l) data files; versioned assets v=$v\"\n\n - name: Configure Pages\n if: steps.commit.outputs.changed == 'true'\n uses: actions/configure-pages@v6\n\n - name: Upload site artifact\n if: steps.commit.outputs.changed == 'true'\n uses: actions/upload-pages-artifact@v5\n with:\n path: site\n\n - name: Deploy to GitHub Pages\n if: steps.commit.outputs.changed == 'true'\n id: deploy\n uses: actions/deploy-pages@v5\n continue-on-error: true\n\n - name: Retry deploy (transient Pages failure)\n if: steps.commit.outputs.changed == 'true' && steps.deploy.outcome == 'failure'\n uses: actions/deploy-pages@v5\n"}, "8777e1632a9ebfe0ffb6c9cedd374a946f81d779": {"t": 1785769882.5241668, "n": 4480, "h": "9481c997b9beecaa", "c": "name: Lineage reports\n\n# Weekly cron generates every missing complete period (weeks -> months -> quarters)\n# via DeepSeek and deploys. Wednesday: the Mon/Tue daily fetches have landed the\n# weekend submission-day papers by then, so last week is complete per reports.py's\n# end+2d rule. Manual dispatch can (re)generate one specific report id.\non:\n schedule:\n - cron: \"17 7 * * 3\"\n workflow_dispatch:\n inputs:\n id:\n description: \"Report id (2026-W26 / 2026-M06 / 2026-Q2); blank = fill all missing\"\n required: false\n default: \"\"\n model:\n description: \"Generation model (gateway id); blank = default\"\n required: false\n default: \"\"\n\npermissions:\n contents: write\n pages: write\n id-token: write\n\nconcurrency:\n group: pages\n cancel-in-progress: false\n\njobs:\n reports:\n runs-on: ubuntu-latest\n environment:\n name: github-pages\n url: ${{ steps.deploy.outputs.page_url }}\n steps:\n - name: Checkout code (main)\n uses: actions/checkout@v5\n\n - name: Checkout data branch\n uses: actions/checkout@v5\n with:\n ref: data\n path: data-store\n fetch-depth: 0\n\n - name: Set up uv\n uses: astral-sh/setup-uv@v8.2.0\n with:\n enable-cache: true\n\n - name: Install dependencies\n run: uv sync --frozen\n\n - name: Generate reports\n env:\n AI_API_KEY: ${{ secrets.AI_API_KEY }}\n AI_BASE_URL: ${{ vars.AI_BASE_URL }}\n REPORTS_MODEL: ${{ vars.REPORTS_MODEL }}\n REPORT_ID: ${{ github.event.inputs.id }}\n MODEL_ARG: ${{ github.event.inputs.model && format('--model {0}', github.event.inputs.model) || '' }}\n run: |\n if [ -n \"$REPORT_ID\" ]; then\n uv run python reports.py --site-data-dir data-store/site/data \\\n auto --id \"$REPORT_ID\" $MODEL_ARG\n else\n uv run python reports.py --site-data-dir data-store/site/data \\\n fill $MODEL_ARG\n fi\n\n - name: Commit data back to the data branch\n id: commit\n run: |\n cd data-store\n git config user.name \"github-actions[bot]\"\n git config user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\n git add site/data/reports\n if git diff --cached --quiet; then\n echo \"No new reports.\"\n echo \"changed=false\" >> \"$GITHUB_OUTPUT\"\n else\n git commit -m \"data: lineage reports $(date -u +%Y-%m-%d)\"\n git pull --rebase origin data\n git push origin HEAD:data\n echo \"changed=true\" >> \"$GITHUB_OUTPUT\"\n fi\n\n - name: Notify via Bark\n if: steps.commit.outputs.changed == 'true'\n env:\n BARK_KEY: ${{ secrets.BARK_KEY }}\n run: |\n [ -n \"$BARK_KEY\" ] || { echo \"No BARK_KEY; skipping.\"; exit 0; }\n latest=$(python3 -c \"import json;idx=json.load(open('data-store/site/data/reports/index.json'));print(idx[0]['id'] if idx else '')\")\n site_url=\"https://${GITHUB_REPOSITORY_OWNER}.github.io/${GITHUB_REPOSITORY#*/}\"\n curl -s -X POST \"https://api.day.app/$BARK_KEY\" \\\n --data-urlencode \"title=谱系回顾已更新\" \\\n --data-urlencode \"body=最新:$latest\" \\\n --data-urlencode \"url=$site_url/?report=$latest\" >/dev/null || true\n\n - name: Assemble site (code assets + data) and cache-bust\n if: steps.commit.outputs.changed == 'true'\n run: |\n mkdir -p site/data\n cp -R data-store/site/data/. site/data/\n v=\"${GITHUB_SHA::8}\"\n sed -i \"s#assets/style.css#assets/style.css?v=$v#g; s#assets/app.js#assets/app.js?v=$v#g\" site/index.html\n echo \"Assembled site/ with $(ls site/data/*.json | wc -l) data files; versioned assets v=$v\"\n\n - name: Configure Pages\n if: steps.commit.outputs.changed == 'true'\n uses: actions/configure-pages@v6\n\n - name: Upload site artifact\n if: steps.commit.outputs.changed == 'true'\n uses: actions/upload-pages-artifact@v5\n with:\n path: site\n\n - name: Deploy to GitHub Pages\n if: steps.commit.outputs.changed == 'true'\n id: deploy\n uses: actions/deploy-pages@v5\n continue-on-error: true\n\n - name: Retry deploy (transient Pages failure)\n if: steps.commit.outputs.changed == 'true' && steps.deploy.outcome == 'failure'\n uses: actions/deploy-pages@v5\n"}}}}