Skip to content

Commit 2bb1603

Browse files
committed
Merge branch 'main' into issue-587/game-demo
2 parents c4f4ae1 + e0e0885 commit 2bb1603

File tree

961 files changed

+48136
-32645
lines changed

Some content is hidden

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

961 files changed

+48136
-32645
lines changed

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "cargo"
4+
open-pull-requests-limit: 10
5+
directory: "/"
6+
schedule:
7+
interval: "daily"
8+
reviewers:
9+
- "SirCipher"
10+
- "horned-sphere"
11+
- package-ecosystem: "npm"
12+
directory: "/"
13+
schedule:
14+
interval: "daily"
15+
open-pull-requests-limit: 0
16+
reviewers:
17+
- "SirCipher"
18+
- "horned-sphere"

.github/workflows/ci.yml

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
on:
2+
pull_request:
3+
push:
4+
branches: main
5+
6+
name: Continuous integration
7+
env:
8+
latest_version: "1.81.0"
9+
10+
jobs:
11+
test:
12+
name: Test
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
os:
17+
- windows-latest
18+
- ubuntu-latest
19+
- macos-latest
20+
steps:
21+
- uses: actions/checkout@v2
22+
- name: Install Rust
23+
uses: dtolnay/rust-toolchain@stable
24+
with:
25+
toolchain: ${{ env.latest_version }}
26+
- uses: Swatinem/rust-cache@v2
27+
28+
- name: Install NASM for aws-lc-rs on Windows
29+
if: runner.os == 'Windows'
30+
uses: ilammy/setup-nasm@v1
31+
32+
- name: Install ninja-build tool for aws-lc-fips-sys on Windows
33+
if: runner.os == 'Windows'
34+
uses: seanmiddleditch/gha-setup-ninja@v5
35+
36+
- name: Install golang for aws-lc-fips-sys on macos
37+
if: runner.os == 'MacOS'
38+
uses: actions/setup-go@v5
39+
with:
40+
go-version: "1.22.2"
41+
42+
- run: cargo test --all-features --workspace --lib --tests --profile "ci"
43+
44+
# Check step to ensure that all targets are valid as the test step doesn't run them.
45+
check:
46+
name: Check
47+
runs-on: ${{ matrix.os }}
48+
strategy:
49+
matrix:
50+
os:
51+
- windows-latest
52+
- ubuntu-latest
53+
- macos-latest
54+
steps:
55+
- uses: actions/checkout@v2
56+
- name: Install Rust
57+
uses: dtolnay/rust-toolchain@stable
58+
with:
59+
toolchain: ${{ env.latest_version }}
60+
61+
- name: Install NASM for aws-lc-rs on Windows
62+
if: runner.os == 'Windows'
63+
uses: ilammy/setup-nasm@v1
64+
65+
- name: Install ninja-build tool for aws-lc-fips-sys on Windows
66+
if: runner.os == 'Windows'
67+
uses: seanmiddleditch/gha-setup-ninja@v5
68+
69+
- name: Install golang for aws-lc-fips-sys on macos
70+
if: runner.os == 'MacOS'
71+
uses: actions/setup-go@v5
72+
with:
73+
go-version: "1.22.2"
74+
75+
- uses: Swatinem/rust-cache@v2
76+
- run: cargo check --all-features --all-targets --workspace --lib --tests --profile "ci"
77+
78+
docs:
79+
name: Documentation
80+
runs-on: ubuntu-latest
81+
steps:
82+
- uses: actions/checkout@v2
83+
- name: Install Rust
84+
uses: dtolnay/rust-toolchain@stable
85+
with:
86+
toolchain: ${{ env.latest_version }}
87+
- uses: Swatinem/rust-cache@v2
88+
- name: Build Documentation
89+
run: cargo doc --lib --no-deps --all-features --workspace
90+
env:
91+
RUSTDOCFLAGS: --cfg docsrs -Dwarnings
92+
93+
fmt:
94+
name: Rustfmt
95+
runs-on: ubuntu-latest
96+
steps:
97+
- uses: actions/checkout@v2
98+
- name: Install Rust
99+
uses: dtolnay/rust-toolchain@stable
100+
with:
101+
toolchain: ${{ env.latest_version }}
102+
components: rustfmt
103+
- uses: Swatinem/rust-cache@v2
104+
- run: cargo fmt --all -- --check
105+
106+
clippy:
107+
name: Clippy
108+
runs-on: ubuntu-latest
109+
steps:
110+
- uses: actions/checkout@v2
111+
- name: Install Rust
112+
uses: dtolnay/rust-toolchain@stable
113+
with:
114+
toolchain: ${{ env.latest_version }}
115+
components: clippy
116+
- uses: Swatinem/rust-cache@v2
117+
- run: cargo clippy --all-features --all-targets --workspace -- -D warnings
118+
119+
code_coverage:
120+
name: Code Coverage
121+
runs-on: ubuntu-latest
122+
container:
123+
image: xd009642/tarpaulin:develop-nightly
124+
options: --security-opt seccomp=unconfined
125+
steps:
126+
- name: Checkout repository
127+
uses: actions/checkout@v2
128+
129+
- name: Install Clang & cmake
130+
# Required for rocksdb and libdkafka
131+
run: apt-get update && apt-get install -y llvm llvm-dev clang cmake
132+
133+
- name: Set libclang path
134+
run: echo "LIBCLANG_PATH=$(llvm-config --libdir)" >> $GITHUB_ENV
135+
136+
- name: Generate code coverage
137+
run: |
138+
cargo tarpaulin
139+
140+
- name: Upload to codecov.io
141+
uses: codecov/codecov-action@v4
142+
with:
143+
token: ${{ secrets.CODECOV_TOKEN }}
144+
fail_ci_if_error: true
145+
146+
build_uis:
147+
name: Build Example Application UIs
148+
runs-on: ubuntu-latest
149+
strategy:
150+
matrix:
151+
include:
152+
- path: "stocks_simulated/ui"
153+
cmd: "npm install && npm run build"
154+
steps:
155+
- name: Checkout repository
156+
uses: actions/checkout@v2
157+
- name: Build UI
158+
run: |
159+
cd ${PWD}/example_apps/${{ matrix.path }}/
160+
${{ matrix.cmd }}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,7 @@
99
!/demos/**/Cargo.lock
1010

1111
**/.DS_Store
12-
*.iml
12+
*.iml
13+
14+
# Code coverage files
15+
*.profraw

.tarpaulin.toml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
[coverage]
2+
exclude = [
3+
"example-util",
4+
"console",
5+
"console-views",
6+
"demand-lane",
7+
"demand-map-lane",
8+
"value-lane",
9+
"map-lane",
10+
"command-lane",
11+
"value-store",
12+
"map-store",
13+
"supply-lane",
14+
"value-lane-persistence",
15+
"map-lane-persistence",
16+
"value-store-persistence",
17+
"map-store-persistence",
18+
"event-downlink",
19+
"value-downlink",
20+
"map-downlink",
21+
"local-downlink",
22+
"http-lane",
23+
"transit",
24+
"transit-model",
25+
"tutorial-app",
26+
"tutorial-app-model",
27+
"tutorial-app-generator",
28+
"join_map",
29+
"join_value",
30+
"aggregations",
31+
"time_series",
32+
"swimos_form_derive",
33+
"swimos_agent_derive",
34+
"swimos_macro_utilities",
35+
"example_client_2_2",
36+
"example_server_2_2",
37+
"example_client_2_3",
38+
"example_server_2_3"
39+
]
40+
workspace = true
41+
avoid-cfg-tarpaulin = true
42+
profile = "ci"
43+
ignore-tests = true
44+
out = ["Xml"]
45+
timeout = "600s"
46+
all-features = true

0 commit comments

Comments
 (0)