Monthly Optimization Planner #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Monthly Optimization Planner | |
| "on": | |
| workflow_dispatch: | |
| inputs: | |
| upstream_run_id: | |
| description: "AI review run id from CryptoLeaderRotation" | |
| required: true | |
| downstream_run_id: | |
| description: "AI review run id from BinancePlatform" | |
| required: true | |
| downstream_repo: | |
| description: "Downstream execution repo" | |
| required: true | |
| default: "QuantStrategyLab/BinancePlatform" | |
| jobs: | |
| planner: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| actions: read | |
| contents: read | |
| issues: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Download upstream AI review artifact | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| mkdir -p data/input/upstream | |
| gh run download "${{ inputs.upstream_run_id }}" \ | |
| --repo "${GITHUB_REPOSITORY}" \ | |
| --dir data/input/upstream | |
| - name: Download downstream AI review artifact | |
| env: | |
| GH_TOKEN: ${{ secrets.CROSS_REPO_GITHUB_TOKEN }} | |
| run: | | |
| mkdir -p data/input/downstream | |
| gh run download "${{ inputs.downstream_run_id }}" \ | |
| --repo "${{ inputs.downstream_repo }}" \ | |
| --dir data/input/downstream | |
| - name: Resolve downloaded artifact paths | |
| id: artifact_paths | |
| run: | | |
| UPSTREAM_DIR=$(find data/input/upstream -mindepth 1 -maxdepth 1 -type d | head -1) | |
| DOWNSTREAM_DIR=$(find data/input/downstream -mindepth 1 -maxdepth 1 -type d | head -1) | |
| if [ -z "${UPSTREAM_DIR}" ] || [ -z "${DOWNSTREAM_DIR}" ]; then | |
| echo "Failed to resolve downloaded artifact directories" >&2 | |
| exit 1 | |
| fi | |
| { | |
| echo "upstream_dir=${UPSTREAM_DIR}" | |
| echo "downstream_dir=${DOWNSTREAM_DIR}" | |
| } >> "${GITHUB_OUTPUT}" | |
| - name: Prepare upstream review payload | |
| run: | | |
| python3 scripts/build_ai_review_payload.py \ | |
| --source-repo "${GITHUB_REPOSITORY}" \ | |
| --review-kind upstream_selector \ | |
| --issue-context-file "${{ steps.artifact_paths.outputs.upstream_dir }}/issue_context.json" \ | |
| --secondary-review-file "${{ steps.artifact_paths.outputs.upstream_dir }}/secondary_review.json" \ | |
| --run-url "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${{ inputs.upstream_run_id }}" \ | |
| --output-file data/output/prepared/upstream_review_payload.json | |
| - name: Prepare downstream review payload | |
| run: | | |
| python3 scripts/build_ai_review_payload.py \ | |
| --source-repo "${{ inputs.downstream_repo }}" \ | |
| --review-kind execution_runtime \ | |
| --issue-context-file "${{ steps.artifact_paths.outputs.downstream_dir }}/issue_context.json" \ | |
| --secondary-review-file "${{ steps.artifact_paths.outputs.downstream_dir }}/secondary_review.json" \ | |
| --run-url "${GITHUB_SERVER_URL}/${{ inputs.downstream_repo }}/actions/runs/${{ inputs.downstream_run_id }}" \ | |
| --output-file data/output/prepared/downstream_review_payload.json | |
| - name: Build monthly optimization plan | |
| run: | | |
| python3 scripts/build_monthly_optimization_plan.py \ | |
| --upstream-review-file data/output/prepared/upstream_review_payload.json \ | |
| --downstream-review-file data/output/prepared/downstream_review_payload.json \ | |
| --output-dir data/output/monthly_optimization | |
| - name: Append optimization summary | |
| run: cat data/output/monthly_optimization/optimization_summary.md >> "$GITHUB_STEP_SUMMARY" | |
| - name: Upload planner artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: monthly-optimization-plan-${{ inputs.upstream_run_id }}-${{ inputs.downstream_run_id }} | |
| path: data/output/monthly_optimization/ | |
| - name: Create monthly optimization issue | |
| run: | | |
| python3 scripts/post_monthly_optimization_issue.py \ | |
| --repo "${GITHUB_REPOSITORY}" \ | |
| --plan-file data/output/monthly_optimization/optimization_plan.json \ | |
| --summary-file data/output/monthly_optimization/optimization_summary.md | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |