Devid HW
302a0c5624
fix(ci): move GPG signing guard out of step if: — secrets context invalid there
...
Referencing secrets.* in a step-level if: expression makes GitHub reject
the whole workflow file at parse time: every push to any branch produced
a startup-failure run for release.yml with zero jobs ('Code Scanning
could not...' style runs named .github/workflows/release.yml). The tags
trigger was irrelevant because an unparseable workflow has no readable
triggers.
Fix: evaluate the both-secrets-present check in job-level env (where the
secrets context IS allowed) and test env.HAS_GPG_SECRETS in the step if:.
Behavior unchanged: sign when both secrets exist, ship unsigned otherwise.
2026-08-26 05:14:50 +07:00
Devid HW
3cbb5b00a7
ci: enable manual workflow_dispatch for Scorecard rescan
2026-08-26 03:28:40 +07:00
Devid HW
c65c4b5d1c
docs: add SECURITY.md and GPG release signing for OpenSSF passing badge
...
Satisfies vulnerability_report_process/know_secure_design/know_common_errors via SECURITY.md; delivery_unsigned via GPG-signed releases (public key in docs/signing-key.asc); N/A justifications for the 4 N/A-able MUST criteria (crypto_password_storage, vulnerability_report_private, vulnerability_report_response, release_notes_vulns). Backs the OpenSSF Best Practices passing badge and closes the CIIBestPracticesID alert.
2026-08-26 03:17:38 +07:00
Devid HW
ac50ae7bae
ci: declare explicit least-privilege permissions (fix Token-Permissions)
2026-08-25 10:44:44 +07:00
Devid HW
2951f372e3
ci: enable CodeQL + add code-scanning badge
2026-08-25 10:36:18 +07:00
Devid HW
3c6da1d1d2
ci(scorecard): auto-publish badge.json to badges branch
2026-08-25 10:36:05 +07:00
Devid HW
e2cdd0684b
ci: pin mcp-publisher download
2026-08-25 09:50:08 +07:00
Devid HW
8a56394f1c
ci(release): support RELEASE_PAT for approval-free bot PRs (falls back to GITHUB_TOKEN)
2026-08-25 09:32:18 +07:00
Devid HW
599dcb14ba
fix(release): attest final release artifacts instead of pre-repackage builds
2026-08-25 09:13:43 +07:00
Devid HW
d7bbaddb12
ci(release): generate build provenance attestations for artifacts
2026-08-25 07:30:12 +07:00
Devid HW
71e5819d38
fix(release): drop [skip ci] from server.json PR so required checks can run
2026-08-25 06:41:20 +07:00
Devid HW
785c99c80d
ci(scorecard): rename invalid 'publish' input to 'publish_results' so results are published
2026-08-25 06:06:05 +07:00
Devid HW
4dded9b083
ci(release): publish to crates.io via trusted publishing (OIDC)
2026-08-25 05:46:34 +07:00
Devid HW
a23dbee52f
fix(release): update server.json via auto-merged PR to satisfy branch ruleset
2026-08-25 02:07:38 +07:00
Devid HW
ffe55863ba
chore(templates): link Discussions from issue chooser
2026-08-25 01:57:22 +07:00
Devid HW
ed82452200
chore: add CODEOWNERS
2026-08-25 01:52:45 +07:00
Devid HW
941be795c1
chore(templates): add issue forms and PR template
2026-08-25 01:52:17 +07:00
Devid HW
6a54b2f54a
ci: gate PRs on fmt and clippy, add run concurrency groups
2026-08-25 01:50:26 +07:00
Devid HW
e17e6b82fa
ci(security): add OpenSSF Scorecard analysis and badge
2026-08-25 01:45:40 +07:00
Devid HW
a6618e6811
ci(hardening): least-privilege GITHUB_TOKEN permissions across workflows
2026-08-25 01:45:15 +07:00
Devid HW
e6111c421f
ci(security): add cargo-deny checks for advisories, licenses, bans, sources
2026-08-25 01:44:40 +07:00
Devid HW
5056be3ee9
ci(security): add dependency review on PRs
2026-08-25 01:43:30 +07:00
Devid HW
53e9cd6ee6
ci: upgrade actions to latest majors and pin by commit SHA
2026-08-25 01:37:05 +07:00
Devid HW
f1e4538b6a
fix(ci): activate Dependabot for cargo and github-actions ecosystems
2026-08-25 01:34:25 +07:00
Devid HW
839e33023a
fix: remove PayPal funding link, bump anyhow for RUSTSEC-2026-0190, resolve all clippy warnings
...
- Remove PayPal donate URL from .github/FUNDING.yml (keep saweria), fix trailing whitespace
- Update anyhow 1.0.102 -> 1.0.104 (RUSTSEC-2026-0190 unsoundness warning)
- Fix 25 clippy warnings across src/ (idiomatic fixes; two justified
#[allow(too_many_arguments)] on internal pass-through helpers)
- Normalize formatting via cargo fmt
- Correct stale version reference in AGENTS.md (1.32.4 -> 1.34.0)
2026-08-25 00:54:07 +07:00
Devid HW
0dc5ce0c0c
fix: allow dirty checkout in cargo publish step
2026-06-25 16:15:46 +07:00
Devid and GitHub
6bfb330b5d
Update funding sources in FUNDING.yml
2026-04-23 01:44:31 +07:00
Devid and GitHub
52a3d44b99
Add funding options for GitHub and PayPal
...
Updated funding options to include GitHub sponsor and custom PayPal link.
2026-04-23 01:42:55 +07:00
Devid and GitHub
caabc2c03b
Change Dependabot update interval to monthly
2026-04-23 01:39:27 +07:00
Devid HW and Claude Sonnet 4.6
62c1ca773e
ci: publish to crates.io before GitHub release
...
Add cargo-publish job that runs in parallel with binary builds.
The release job now depends on [build-macos, build-linux, cargo-publish]
so the crate is always published to crates.io before the GitHub release
and binaries are attached.
Requires CARGO_REGISTRY_TOKEN secret in repo settings.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 01:30:23 +07:00
Devid HW and Claude Sonnet 4.6
5db3c7c822
ci: fix mcp-publisher install — resolve URL from release assets API
...
v1.6.0 dropped the version number from asset filenames
(mcp-publisher_linux_amd64.tar.gz, not mcp-publisher_1.6.0_linux_amd64.tar.gz).
Look up the linux/amd64 .tar.gz URL directly from the GitHub releases API
instead of constructing it, so future renames don't break the workflow.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 06:27:06 +07:00
Devid HW and Claude Sonnet 4.6
20a2d3d6e4
ci: add release automation scripts and workflows
...
- scripts/release.sh: one-command local release (bump, changelog, tag, push)
- .github/workflows/release.yml: fix SHA256 auto-commit back to master,
dynamic mcp-publisher version detection, cargo cache, security hardening
- .claude/commands/release.md: /release slash command
- .windsurf/workflows/release.md: streamlined to use release.sh
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 06:15:38 +07:00
Devid HW
ec2a22ed30
ci: handle mcp-publisher registryType bug gracefully
...
- Don't fail workflow if MCP publish fails
- Add clear manual publish instructions
- Reference web UI as alternative
2026-04-22 05:58:09 +07:00
Devid HW
7e97086909
ci: add checkout step to mcp-publish job
...
- server.json is needed for mcp-publisher to work
2026-04-22 05:44:43 +07:00
Devid HW
7a8a8daeca
ci: use GitHub OIDC for MCP authentication
...
- Replace non-existent --token-stdin with github-oidc method
- Add id-token: write permission for OIDC
- Remove MCP_PUBLISH_TOKEN (not needed with OIDC)
2026-04-22 05:39:46 +07:00
Devid HW
ba04405454
ci: fix mcp-publisher download URL
...
- Change from wrong repo (mcp-publisher) to correct repo (registry)
- Use proper tar.gz format with versioned release URL
- Add tar extraction step
- Update manual install instructions with correct URL
2026-04-22 05:32:55 +07:00
Devid HW
e40dbf63cf
ci: fix mcp-publisher download with error handling
...
- Add curl -fsSL to fail on HTTP errors
- Add graceful skip if download fails
- Add manual publish instructions as fallback
2026-04-22 05:28:01 +07:00
Devid HW
0a2e076ad6
ci: rename release artifacts to mcp-mt5-quant-* format
...
- Change mt5-quant-macos-arm64.tar.gz -> mcp-mt5-quant-macos-arm64.tar.gz
- Change mt5-quant-linux-x64.tar.gz -> mcp-mt5-quant-linux-x64.tar.gz
- Update build-mcp-package job extraction paths
2026-04-22 05:22:02 +07:00
Devid HW
ad17f9dba6
ci: add release-info job with Claude/Windsurf/Cursor commands
...
- Add final job that displays copy-paste registration commands
- Shows Claude Code, Windsurf, and VS Code/Cursor commands
- Includes release URLs and success banner
2026-04-22 05:07:27 +07:00
Devid HW
33186d276a
ci: add automated MCP publishing and client registration docs
...
- Update release workflow with MCP_PUBLISH_TOKEN for automated publishing
- Remove OIDC requirement (using classic token)
- Add MCP client registration commands for Windsurf, Claude, VS Code/Cursor
- Add verification steps for post-release checking
2026-04-22 05:04:18 +07:00
Devid HW
3927343999
ci: update release workflow for manual triggers and MCP publish
...
- Add workflow_dispatch with version input for manual releases
- Remove tag-only condition - now works with manual triggers
- Use github.event.inputs.version || github.ref_name for flexibility
- Add MCP package artifact upload
- Add mcp-publish job with OIDC support instructions
2026-04-22 04:57:23 +07:00
Devid HW
6a5253186b
ci: add release workflow for automated builds
...
- Build macOS and Linux binaries
- Create MCP package with SHA256
- Upload to GitHub releases
2026-04-22 04:50:16 +07:00
Devid and GitHub
aab34a1fde
Add GitHub Actions workflow for Rust project
2026-04-19 10:16:03 +07:00
Devid HW
fea132e46e
chore: Remove .github/workflows from git tracking and add to .gitignore
2026-04-19 04:56:46 +07:00
Devid HW
a3b046c68f
feat: complete Rust migration with modular architecture
...
Major changes:
- Migrate Python/shell scripts to Rust modules:
- analytics/extract.py → src/analytics/extract.rs (ReportExtractor)
- analytics/analyze.py → src/analytics/analyze.rs (DealAnalyzer)
- scripts/mqlcompile.sh → src/compile/mql_compiler.rs (MqlCompiler)
- scripts/backtest_pipeline.sh → src/pipeline/backtest.rs (BacktestPipeline)
- New modular structure:
- src/models/ - Config, Deal, Metrics, Report structs
- src/analytics/ - Report parsing and deal analysis
- src/compile/ - MQL5 compilation via Wine
- src/pipeline/ - 5-stage backtest orchestration
- src/tools/ - 27 MCP tool definitions and handlers
- Remove PyInstaller setup (now pure Rust)
- Remove migrated shell scripts (backtest_pipeline.sh, mqlcompile.sh)
- Add GitHub Actions CI/CD for macOS & Linux releases
- Update all documentation for Rust architecture
Binary size: 4.3MB (no Python dependencies)
Tools: 27 MCP tools fully functional
2026-04-18 15:07:08 +07:00