Skip to content

Commit 32b0e70

Browse files
authored
Release 1.176.0
See release notes.
2 parents 00517f3 + 37378ad commit 32b0e70

File tree

607 files changed

+25062
-15461
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

607 files changed

+25062
-15461
lines changed

.github/workflows/build.yml

+15-34
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
fail-fast: false
1515
matrix:
1616
arch: [x64]
17-
os: [ubuntu-latest, macos-latest, "windows-latest"]
17+
os: [ubuntu-latest, macos-latest, windows-latest]
1818
python-version: ["3.9", "3.10", "3.11"]
1919
name: build - Python ${{ matrix.python-version }} (${{ matrix.arch }} ${{ matrix.os }})
2020
runs-on: ${{ matrix.os }}
@@ -26,50 +26,42 @@ jobs:
2626
- name: Checkout repository
2727
uses: actions/checkout@v3
2828

29-
# Rust setup (ensures latest stable)
30-
- name: Set up Rust tool-chain (Linux/Windows)
31-
if: runner.os != 'macOS'
32-
uses: actions-rust-lang/setup-rust-toolchain@v1
29+
- name: Set up Rust tool-chain (Linux, Windows) stable
30+
if: (runner.os == 'Linux') || (runner.os == 'Windows')
31+
uses: actions-rust-lang/[email protected]
3332
with:
3433
toolchain: stable
3534
components: rustfmt, clippy
3635

37-
- name: Set up Rust tool-chain (macOS)
36+
# Work around as actions-rust-lang does not seem to work on macOS yet
37+
- name: Set up Rust tool-chain (macOS) stable
3838
if: runner.os == 'macOS'
3939
uses: actions-rs/toolchain@v1
4040
with:
4141
toolchain: stable
4242
override: true
4343
components: rustfmt, clippy
4444

45-
# Python setup
4645
- name: Set up Python environment
4746
uses: actions/setup-python@v4
4847
with:
4948
python-version: ${{ matrix.python-version }}
5049

51-
# Install build dependencies
5250
- name: Install build dependencies
53-
run: python -m pip install --upgrade pip setuptools wheel pre-commit poetry==1.5.1
51+
run: python -m pip install --upgrade pip setuptools wheel pre-commit poetry==1.5.1 msgspec
5452

55-
# Setup cached pre-commit
5653
- name: Setup cached pre-commit
5754
id: cached-pre-commit
5855
uses: actions/cache@v3
5956
with:
6057
path: ~/.cache/pre-commit
6158
key: ${{ runner.os }}-${{ matrix.python-version }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
6259

63-
# Setup Poetry caching
64-
- name: Set output (Linux)
65-
if: runner.os == 'Linux'
60+
- name: Setup poetry output (Linux, macOS)
61+
if: (runner.os == 'Linux') || (runner.os == 'macOS')
6662
run: echo "dir=$(poetry config cache-dir)" >> $GITHUB_ENV
6763

68-
- name: Set output (macOS)
69-
if: runner.os == 'macOS'
70-
run: echo "dir=$(poetry config cache-dir)" >> $GITHUB_ENV
71-
72-
- name: Set output (Windows)
64+
- name: Setup poetry output (Windows)
7365
if: runner.os == 'Windows'
7466
run: echo "dir=$(poetry config cache-dir)" | Out-File -FilePath $env:GITHUB_ENV -Append >> $GITHUB_ENV
7567

@@ -80,11 +72,9 @@ jobs:
8072
path: ${{ env.dir }}
8173
key: ${{ runner.os }}-${{ matrix.python-version }}-poetry-${{ hashFiles('**/poetry.lock') }}
8274

83-
# Run pre-commit
8475
- name: Run pre-commit
8576
run: pre-commit run --all-files
8677

87-
# Install and run database dependencies
8878
- name: Install Redis (macOS)
8979
if: runner.os == 'macOS'
9080
run: |
@@ -97,26 +87,17 @@ jobs:
9787
sudo apt-get install redis-server
9888
redis-server --daemonize yes
9989
100-
# Run nautilus_core tests (Linux & macOS)
101-
- name: Run nautilus_core cargo tests
102-
if: runner.os != 'Windows'
90+
- name: Run nautilus_core cargo tests (Linux, macOS)
91+
if: (runner.os == 'Linux') || (runner.os == 'macOS')
10392
run: make cargo-test
10493

105-
# Run tests (Linux)
106-
- name: Run tests (Linux)
107-
if: runner.os == 'Linux'
108-
run: |
109-
make pytest
110-
make test-examples
111-
112-
# Run tests (macOS)
113-
- name: Run tests (macOS)
114-
if: runner.os == 'macOS'
94+
- name: Run tests (Linux, macOS)
95+
if: (runner.os == 'Linux') || (runner.os == 'macOS')
11596
run: |
11697
make pytest
11798
make test-examples
11899
119-
# Run tests (Windows) without parallel build (avoids linker errors)
100+
# Run tests without parallel build (avoids linker errors)
120101
- name: Run tests (Windows)
121102
if: runner.os == 'Windows'
122103
run: |

.github/workflows/codeql-analysis.yml

-4
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,11 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
language: ['python']
18-
# CodeQL supports ['cpp', 'csharp', 'go', 'java', 'javascript', 'python']
19-
# Learn more...
20-
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
2118

2219
steps:
2320
- name: Checkout repository
2421
uses: actions/checkout@v3
2522

26-
# Initializes the CodeQL tools for scanning.
2723
- name: Initialize CodeQL
2824
uses: github/codeql-action/init@v1
2925
with:

.github/workflows/coverage.yml

+5-24
Original file line numberDiff line numberDiff line change
@@ -21,67 +21,48 @@ jobs:
2121
- name: Checkout repository
2222
uses: actions/checkout@v3
2323

24-
# Rust setup (ensures latest stable)
25-
- name: Set up Rust tool-chain
26-
uses: actions-rust-lang/setup-rust-toolchain@v1
24+
- name: Set up Rust tool-chain (stable)
25+
uses: actions-rust-lang/[email protected]
2726
with:
2827
toolchain: stable
2928
components: rustfmt, clippy
3029

31-
# Python setup
3230
- name: Set up Python environment
3331
uses: actions/setup-python@v4
3432
with:
3533
python-version: ${{ matrix.python-version }}
3634

37-
# Install build dependencies
3835
- name: Install build dependencies
39-
run: python -m pip install --upgrade pip setuptools wheel pre-commit poetry==1.3.2
36+
run: python -m pip install --upgrade pip setuptools wheel pre-commit poetry==1.5.1 msgspec
4037

41-
# Setup cached pre-commit
4238
- name: Setup cached pre-commit
4339
id: cached-pre-commit
4440
uses: actions/cache@v3
4541
with:
4642
path: ~/.cache/pre-commit
4743
key: ${{ runner.os }}-${{ matrix.python-version }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
4844

49-
# Run pre-commit
5045
- name: Run pre-commit
5146
run: pre-commit run --all-files
5247

53-
# Setup Poetry caching
54-
- name: Set output (Linux)
55-
if: runner.os == 'Linux'
48+
- name: Set poetry output
5649
run: echo "dir=$(poetry config cache-dir)" >> $GITHUB_ENV
5750

58-
- name: Set output (macOS)
59-
if: runner.os == 'macOS'
60-
run: echo "dir=$(poetry config cache-dir)" >> $GITHUB_ENV
61-
62-
- name: Set output (Windows)
63-
if: runner.os == 'Windows'
64-
run: echo "dir=$(poetry config cache-dir)" | Out-File -FilePath $env:GITHUB_ENV -Append >> $GITHUB_ENV
65-
6651
- name: Poetry cache
6752
id: cached-poetry
6853
uses: actions/cache@v3
6954
with:
7055
path: ${{ env.dir }}
7156
key: ${{ runner.os }}-${{ matrix.python-version }}-poetry-${{ hashFiles('**/poetry.lock') }}
7257

73-
# Install and run database dependencies
74-
- name: Install Redis (Linux)
75-
if: runner.os == 'Linux'
58+
- name: Install Redis
7659
run: |
7760
sudo apt-get install redis-server
7861
redis-server --daemonize yes
7962
80-
# Run tests with coverage
8163
- name: Run tests with coverage
8264
run: make pytest-coverage
8365

84-
# Upload coverage report to codecov (Linux)
8566
- name: Upload coverage report
8667
uses: codecov/codecov-action@v3
8768
with:

.github/workflows/docker.yml

-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ jobs:
1717
- name: Checkout repository
1818
uses: actions/checkout@v3
1919

20-
# Build docker images
2120
- name: Set up QEMU
2221
uses: docker/setup-qemu-action@v1
2322

@@ -35,7 +34,6 @@ jobs:
3534
id: branch-name
3635
uses: tj-actions/branch-names@v6
3736

38-
# Build nautilus_trader docker image (develop)
3937
- name: Build nautilus_trader image (develop)
4038
if: ${{ steps.branch-name.outputs.current_branch == 'develop' }}
4139
id: docker_build_trader_develop
@@ -49,7 +47,6 @@ jobs:
4947
- name: Digest nautilus_trader image
5048
run: echo ${{ steps.docker_build_trader_develop.outputs.digest }}
5149

52-
# Build nautilus_trader docker image (latest)
5350
- name: Build nautilus_trader image (latest)
5451
if: ${{ steps.branch-name.outputs.current_branch == 'master' }}
5552
id: docker_build_trader_latest
@@ -63,7 +60,6 @@ jobs:
6360
- name: Digest nautilus_trader image
6461
run: echo ${{ steps.docker_build_trader_latest.outputs.digest }}
6562

66-
# Build jupyterlab docker image (develop)
6763
- name: Build jupyterlab image (develop)
6864
if: ${{ steps.branch-name.outputs.current_branch == 'develop' }}
6965
id: docker_build_jupyterlab_develop
@@ -79,7 +75,6 @@ jobs:
7975
- name: Digest jupyterlab image
8076
run: echo ${{ steps.docker_build_jupyterlab_develop.outputs.digest }}
8177

82-
# Build jupyterlab docker image (latest)
8378
- name: Build jupyterlab image (latest)
8479
if: ${{ steps.branch-name.outputs.current_branch == 'master' }}
8580
id: docker_build_jupyterlab_latest

.github/workflows/docs.yml

+16-14
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: docs
22

3-
# Build and deploy the NautilusTrader API documentation
3+
# Build and deploy the NautilusTrader documentation
44

55
on:
66
push:
@@ -13,44 +13,47 @@ jobs:
1313
- name: Checkout repository
1414
uses: actions/checkout@v3
1515

16-
# Rust setup (ensures latest stable)
17-
- name: Set up Rust tool-chain
16+
- name: Set up Rust tool-chain (stable)
1817
uses: actions-rust-lang/setup-rust-toolchain@v1
1918
with:
2019
toolchain: stable
2120
components: rustfmt, clippy
2221

23-
# Python setup
22+
- name: Set up Rust tool-chain (nightly)
23+
uses: actions-rust-lang/[email protected]
24+
with:
25+
toolchain: nightly
26+
components: rustfmt, clippy
27+
2428
- name: Set up Python environment
2529
uses: actions/setup-python@v4
2630
with:
2731
python-version: "3.11"
2832

29-
# Install build dependencies
3033
- name: Install build dependencies
31-
run: python -m pip install --upgrade pip setuptools poetry==1.3.2
34+
run: python -m pip install --upgrade pip setuptools wheel pre-commit poetry==1.5.1 msgspec
3235

33-
# Build project
3436
- name: Build project
3537
run: poetry install --with docs --all-extras
3638

3739
- name: Get branch name
3840
id: branch-name
3941
uses: tj-actions/branch-names@v6
4042

41-
# Build docs
42-
- name: Build docs
43-
run: make docs
43+
- name: Build Python docs
44+
run: make docs-python
45+
46+
- name: Build Rust docs
47+
run: |
48+
make docs-rust
49+
cp -r nautilus_core/target/doc docs/build/html/core
4450
45-
# Add nojeckyll
4651
- name: Add nojeckyll
4752
run: touch docs/build/html/.nojekyll
4853

49-
# Add CNAME
5054
- name: Add CNAME
5155
run: echo "docs.nautilustrader.io" >> docs/build/html/CNAME
5256

53-
# Publish docs (develop)
5457
- name: Publish docs (develop)
5558
if: ${{ steps.branch-name.outputs.current_branch == 'develop' }}
5659
uses: s0/git-publish-subdir-action@develop
@@ -62,7 +65,6 @@ jobs:
6265
GITHUB_TOKEN: ${{ secrets.GHPAGES_ACCESS }}
6366
TARGET_DIR: develop
6467

65-
# Publish docs (latest)
6668
- name: Publish docs (latest)
6769
if: ${{ steps.branch-name.outputs.current_branch == 'master' }}
6870
uses: s0/git-publish-subdir-action@develop

0 commit comments

Comments
 (0)