You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/OVERVIEW.md
+33-21Lines changed: 33 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,31 +16,43 @@ CI/CD, testing, publishing, and automation within the NautilusTrader repository.
16
16
17
17
## Workflows (`.github/workflows`)
18
18
19
-
-**build.yml**: runs pre-commit, cargo-deny security checks, Rust tests, Python tests, builds wheels on multiple platforms, and uploads wheel artifacts.
20
-
-**build-docs.yml**: dispatches a repository event to trigger the documentation build on `master` and `nightly` pushes.
21
-
-**codeql-analysis.yml**: schedules and runs CodeQL security scans for Python and Rust code on pull requests to develop and periodically via cron.
22
-
-**coverage.yml**: (optional) coverage report generation for the `nightly` branch.
23
-
-**docker.yml**: builds and pushes Docker images (`nautilus_trader`, `jupyterlab`) for `master` and `nightly` branches using Buildx and QEMU.
24
-
-**nightly-merge.yml**: automatically merges `develop` into `nightly` when the latest `develop` workflows succeed.
25
-
-**performance.yml**: runs Rust/Python performance benchmarks on the `nightly` branch and reports to CodSpeed.
19
+
-**build.yml**: main CI pipeline - pre-commit, cargo-deny, Rust tests, Python tests, wheel builds, and artifact uploads.
20
+
-**build-v2.yml**: CI pipeline for the v2 Rust-native system.
21
+
-**build-docs.yml**: dispatches documentation build on `master` and `nightly` pushes.
22
+
-**cli-binaries.yml**: builds and publishes CLI binaries for multiple platforms.
23
+
-**codeql-analysis.yml**: CodeQL security scans for Python and Rust on PRs and via cron.
24
+
-**copilot-setup-steps.yml**: environment setup for GitHub Copilot coding agent.
25
+
-**coverage.yml**: coverage report generation for the `nightly` branch.
26
+
-**docker.yml**: builds and pushes Docker images (`nautilus_trader`, `jupyterlab`) using Buildx and QEMU.
27
+
-**nightly-merge.yml**: auto-merges `develop` into `nightly` when CI succeeds.
28
+
-**performance.yml**: Rust/Python benchmarks on `nightly`, reporting to CodSpeed.
29
+
-**trigger-reindexing.yml**: triggers documentation reindexing for search.
26
30
27
31
## Security
28
32
29
-
-**CODEOWNERS**: Critical infrastructure files (workflows, dependencies, build configs, scripts) require Core team review before merge. This prevents unauthorized supply chain modifications and ensures all sensitive changes receive security review.
30
-
-**Branch protection**: The develop branch requires PR reviews with CODEOWNERS enforcement and passing CI checks. External PRs must receive Core team approval before merge, while admin bypass is enabled for maintainer flexibility.
31
-
-**cargo-deny**: Rust dependency auditing for security advisories (RUSTSEC/GHSA), license compliance (LGPL-3.0 compatibility), banned crates, and supply chain integrity. Runs in CI to block vulnerable or non-compliant dependencies. Configuration in `deny.toml`.
32
-
-**Build attestations**: All published artifacts (wheels and source distributions) include cryptographic SLSA build provenance attestations. These prove artifacts were built by the official GitHub Actions workflow and link each artifact to a specific commit SHA, enabling users to verify authenticity via `gh attestation verify`. Attestations are generated for all releases, nightly builds, and develop builds published to PyPI, GitHub Releases, and the Nautech Systems package index.
33
-
-**Code scanning**: CodeQL is enabled for continuous security analysis of Python and Rust code. Scans run on all PRs to develop and weekly via cron schedule.
34
-
-**Immutable action pinning**: All third-party actions are pinned to specific commit SHAs to guarantee immutability and reproducibility.
35
-
-**Hardened runners**: Most workflows employ `step-security/harden-runner` with `egress-policy: audit` to reduce attack surface and monitor outbound traffic.
36
-
-**Secret management**: No secrets or credentials are stored in the repo. AWS, PyPI, and other credentials are provided via GitHub Secrets and injected at runtime.
33
+
### Access controls
34
+
35
+
-**CODEOWNERS**: Critical infrastructure files (workflows, dependencies, build configs, scripts) require Core team review before merge.
36
+
-**Branch protection**: The develop branch requires PR reviews with CODEOWNERS enforcement and passing CI checks. External PRs must receive Core team approval before merge.
37
+
-**Least-privilege tokens**: Workflows default `GITHUB_TOKEN` to `contents: read, actions: read` and selectively elevate scopes only for jobs that need them.
38
+
-**Secret management**: No secrets or credentials are stored in the repo. Credentials are provided via GitHub Secrets and injected at runtime.
39
+
40
+
### Dependency security
41
+
42
+
-**cargo-deny**: Rust dependency auditing for security advisories (RUSTSEC/GHSA), license compliance, banned crates, and supply chain integrity. Configuration in `deny.toml`.
37
43
-**Dependency pinning**: Key tools (pre-commit, Python versions, Rust toolchain, cargo-nextest) are locked to fixed versions or SHAs.
38
-
-**Least-privilege tokens**: Workflows default the `GITHUB_TOKEN` to
39
-
`contents: read, actions: read` and selectively elevate scopes (e.g.
40
-
`contents: write`) only for the jobs that need to tag a release or upload
41
-
assets. This follows the principle of least privilege and limits blast
42
-
radius if a job is compromised.
43
-
-**Caching**: Caches for sccache, pip/site-packages, pre-commit, and test data speed up workflows while preserving hermetic builds.
44
+
-**Code scanning**: CodeQL is enabled for continuous security analysis of Python and Rust code on all PRs and weekly via cron.
45
+
46
+
### Build integrity
47
+
48
+
-**Build attestations**: All published artifacts include cryptographic SLSA build provenance attestations, linking each artifact to a specific commit SHA. Verify via `gh attestation verify`.
49
+
-**Immutable action pinning**: All third-party GitHub Actions are pinned to specific commit SHAs.
50
+
-**Docker image pinning**: Base images in Dockerfiles are pinned to SHA256 digests to prevent supply-chain attacks via tag mutation.
51
+
-**Caching**: Caches for sccache, pip/site-packages, pre-commit, and test data speed up workflows while preserving hermetic (reproducible) builds.
52
+
53
+
### Runtime hardening
54
+
55
+
-**Hardened runners**: Most workflows employ `step-security/harden-runner` with `egress-policy: audit` to reduce attack surface and monitor outbound traffic.
0 commit comments