Skip to content

Commit e243d09

Browse files
authored
Merge pull request #408 from alphaville/dev/release
🎯 New OpEn/opengen/matlab releases
2 parents c950d37 + 0a88654 commit e243d09

File tree

352 files changed

+11414
-3315
lines changed

Some content is hidden

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

352 files changed

+11414
-3315
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
version: 2
77
updates:
88
- package-ecosystem: "cargo"
9-
directory: "/"
9+
directory: "/rust"
1010
schedule:
1111
interval: "weekly"

.github/workflows/ci.yml

Lines changed: 92 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ jobs:
2525
os: ubuntu-latest
2626
- name: macOS
2727
os: macos-latest
28+
- name: Windows
29+
os: windows-latest
2830
steps:
2931
- uses: actions/checkout@v5
3032

@@ -34,16 +36,20 @@ jobs:
3436
rustflags: ""
3537

3638
- name: Cargo tests
39+
working-directory: rust
3740
run: cargo test
3841

3942
- name: Cargo tests (RP and JEM)
43+
if: runner.os != 'Windows'
44+
working-directory: rust
4045
run: |
4146
cargo test --features rp
4247
cargo test --features jem
4348
4449
python_tests:
4550
name: Python tests (${{ matrix.name }})
46-
needs: rust_tests
51+
needs:
52+
- rust_tests
4753
runs-on: ${{ matrix.os }}
4854
timeout-minutes: 45
4955
strategy:
@@ -56,6 +62,9 @@ jobs:
5662
- name: macOS
5763
os: macos-latest
5864
skip_rpi_test: 1
65+
- name: Windows
66+
os: windows-latest
67+
skip_rpi_test: 1
5968
env:
6069
DO_DOCKER: 0
6170
SKIP_RPI_TEST: ${{ matrix.skip_rpi_test }}
@@ -72,7 +81,7 @@ jobs:
7281
with:
7382
python-version: "3.12"
7483
cache: "pip"
75-
cache-dependency-path: open-codegen/setup.py
84+
cache-dependency-path: python/pyproject.toml
7685

7786
- uses: egor-tensin/setup-clang@v1
7887
if: runner.os == 'Linux'
@@ -102,6 +111,69 @@ jobs:
102111
if: runner.os == 'macOS'
103112
run: bash ./ci/script.sh python-tests
104113

114+
- name: Install Python package
115+
if: runner.os == 'Windows'
116+
run: |
117+
Set-Location python
118+
python -m pip install --upgrade pip
119+
python -m pip install .
120+
121+
- name: Run Python test.py
122+
if: runner.os == 'Windows'
123+
run: |
124+
Set-Location python
125+
$env:PYTHONPATH = "."
126+
python -W ignore test/test.py -v
127+
128+
ros2_tests:
129+
name: ROS2 tests
130+
needs: python_tests
131+
runs-on: ubuntu-latest
132+
timeout-minutes: 45
133+
container:
134+
image: ubuntu:noble
135+
options: --user 0
136+
env:
137+
DO_DOCKER: 0
138+
steps:
139+
- uses: actions/checkout@v5
140+
141+
- name: Install container bootstrap dependencies
142+
run: |
143+
apt-get update
144+
DEBIAN_FRONTEND=noninteractive apt-get install -y \
145+
build-essential \
146+
cmake \
147+
curl \
148+
ca-certificates \
149+
git \
150+
gnupg2 \
151+
locales \
152+
lsb-release
153+
154+
- uses: actions-rust-lang/setup-rust-toolchain@v1
155+
with:
156+
toolchain: stable
157+
rustflags: ""
158+
159+
- uses: actions/setup-python@v6
160+
with:
161+
python-version: "3.12"
162+
163+
- name: Setup ROS 2
164+
# `ros-tooling/setup-ros@v0.7` still runs as a Node.js 20 action.
165+
# Force it onto Node 24 now so CI keeps working as GitHub deprecates
166+
# Node 20, and upgrade `setup-ros` to a Node 24-compatible release
167+
# when one becomes available.
168+
env:
169+
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
170+
uses: ros-tooling/setup-ros@v0.7
171+
with:
172+
required-ros-distributions: jazzy
173+
174+
- name: Run ROS2 Python tests
175+
run: bash ./ci/script.sh ros2-tests
176+
105177
ocp_tests:
106178
name: OCP tests (${{ matrix.name }})
107179
needs: python_tests
@@ -115,6 +187,8 @@ jobs:
115187
os: ubuntu-latest
116188
- name: macOS
117189
os: macos-latest
190+
- name: Windows
191+
os: windows-latest
118192
env:
119193
DO_DOCKER: 0
120194
steps:
@@ -129,7 +203,22 @@ jobs:
129203
with:
130204
python-version: "3.12"
131205
cache: "pip"
132-
cache-dependency-path: open-codegen/setup.py
206+
cache-dependency-path: python/pyproject.toml
133207

134208
- name: Run OCP Python tests
209+
if: runner.os != 'Windows'
135210
run: bash ./ci/script.sh ocp-tests
211+
212+
- name: Install Python package
213+
if: runner.os == 'Windows'
214+
run: |
215+
Set-Location python
216+
python -m pip install --upgrade pip
217+
python -m pip install .
218+
219+
- name: Run OCP Python tests
220+
if: runner.os == 'Windows'
221+
run: |
222+
Set-Location python
223+
$env:PYTHONPATH = "."
224+
python -W ignore test/test_ocp.py -v

.github/workflows/clippy.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ jobs:
88
clippy_check:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
- uses: actions-rs/toolchain@v1
11+
- uses: actions/checkout@v5
12+
- uses: actions-rust-lang/setup-rust-toolchain@v1
1313
with:
14-
profile: minimal
1514
toolchain: stable
16-
override: true
1715
components: clippy
18-
- uses: actions-rs/clippy-check@v1
19-
with:
20-
token: ${{ secrets.GITHUB_TOKEN }}
21-
args: --examples
16+
- name: Cargo clippy
17+
working-directory: rust
18+
run: cargo clippy --all-targets --all-features --examples

.github/workflows/rustfmt.yml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,11 @@ jobs:
1010
name: Rustfmt
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v2
14-
- uses: actions-rs/toolchain@v1
13+
- uses: actions/checkout@v5
14+
- uses: actions-rust-lang/setup-rust-toolchain@v1
1515
with:
16-
profile: minimal
1716
toolchain: stable
18-
override: true
1917
components: rustfmt
20-
- uses: actions-rs/cargo@v1
21-
with:
22-
command: fmt
23-
args: --all -- --check
18+
- name: Cargo fmt
19+
working-directory: rust
20+
run: cargo fmt --all -- --check

.gitignore

Lines changed: 30 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,48 @@
1-
# Generated by Cargo
2-
# will have compiled files and executables
3-
.eggs
4-
.idea
5-
TODOS/
1+
# Rust
2+
.cargo
63
/target
74
target/
8-
.cargo
9-
*.odp#
10-
*.egg-info
11-
*.pyc
12-
open-codegen/opengen/icasadi/extern/Makefile
13-
virt
14-
data
15-
my_optimizers
16-
.python_test_build
17-
dist/
18-
19-
# Python tests create this folder:
20-
open-codegen/opengen/.python_test_build/
21-
22-
# Haphazard files:
23-
__main.rs
24-
design/open-card.odp
25-
design/open-interfaces.jpeg
26-
design/open-interfaces.odp
27-
design/open-interfaces.png
28-
main.rs
29-
open-codegen/run/
30-
open-codegen/venv*
31-
32-
33-
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
34-
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
35-
/Cargo.lock
5+
/rust/Cargo.lock
366
open-clib/Cargo.lock
37-
38-
# These are backup files generated by rustfmt
397
*.rs.bk
408

41-
# Docusaurus website (autogenerated files)
42-
/website/i18n/
43-
/website/node_modules/
44-
/website/yarn.lock
45-
/website/build/
46-
/website/.docusaurus/
47-
!/website/pages/
48-
!/website/static/
49-
!/website/*.js
50-
!/website/blog/
51-
!/website/core/Footer.js
52-
!/website/README.md
53-
!/website/publish.sh
9+
# Python
10+
virt
5411

55-
# icasadi external files
56-
/icasadi/extern/
12+
# Docs / website
13+
/docs/website/i18n/
14+
/docs/website/node_modules/
15+
/docs/website/yarn.lock
16+
/docs/website/build/
17+
/docs/website/.docusaurus/
5718

58-
# Visual studio code files
19+
# Editors / local state
20+
.idea
5921
/.vscode/
22+
.DS_Store
6023

61-
# Main file
62-
/src/main.rs
63-
64-
# Autogenerated files (builds)
24+
# Project-local scratch files
25+
TODOS/
26+
data
27+
*.odp#
28+
__main.rs
29+
main.rs
30+
/rust/src/main.rs
6531
/autogenerated_*
6632
/build/
6733
!/build/README.md
6834

69-
# Other files
35+
# Design assets that should stay local
36+
design/open-card.odp
37+
design/open-interfaces.jpeg
38+
design/open-interfaces.odp
39+
design/open-interfaces.png
7040
/design/panoc-only.png
41+
42+
# Misc temporary files
7143
*.autosave
7244
*~
7345
.#*
74-
*private*
75-
.DS_Store
76-
/img/
46+
47+
# Private work area
7748
private/

0 commit comments

Comments
 (0)