feat: opt-in no-forecast method= (min_variance / risk_parity / max_di… #41
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: Semgrep | |
| # Free, open-source static analysis. Findings are uploaded to GitHub code | |
| # scanning and surface as inline annotations on the PR + in the Security tab. | |
| # No account, no token, no API credits — free for public repositories. | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| schedule: | |
| # Weekly catch-up scan, Tuesdays 06:00 UTC. | |
| - cron: "0 6 * * 2" | |
| jobs: | |
| semgrep: | |
| name: Scan | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| security-events: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - name: Install Semgrep | |
| run: python -m pip install --upgrade pip semgrep | |
| - name: Run Semgrep (Python + security rules) | |
| # `|| true` keeps the job green so findings surface as review | |
| # annotations rather than blocking the merge. | |
| run: | | |
| semgrep scan \ | |
| --config p/python \ | |
| --config p/security-audit \ | |
| --sarif --output semgrep.sarif \ | |
| --metrics off || true | |
| - name: Upload findings to code scanning | |
| uses: github/codeql-action/upload-sarif@v4 | |
| if: always() | |
| with: | |
| sarif_file: semgrep.sarif | |
| category: semgrep |