Skip to content

Commit dc10893

Browse files
authored
Merge pull request #35 from control-toolbox/19-dev-tutorial-on-free-times-olivier
Free times review
2 parents 3473b2d + 626b907 commit dc10893

27 files changed

+1070
-1971
lines changed

.github/workflows/CI.yml

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,15 @@
1-
# [.github/workflows/CI.yml]
21
name: CI
2+
33
on:
44
push:
55
branches:
66
- main
77
tags: '*'
88
pull_request:
9+
910
jobs:
1011
call:
11-
strategy:
12-
matrix:
13-
version:
14-
- '1.10'
15-
- '1.11'
16-
os:
17-
- ubuntu-latest
18-
arch:
19-
- x64
2012
uses: control-toolbox/CTActions/.github/workflows/ci.yml@main
2113
with:
22-
version: ${{ matrix.version }}
23-
os: ${{ matrix.os }}
24-
arch: ${{ matrix.arch }}
14+
runners: '["ubuntu-latest"]'
15+
versions: '["1.12"]'

.github/workflows/SpellCheck.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: Spell Check
2+
3+
on:
4+
pull_request:
5+
workflow_dispatch:
6+
7+
jobs:
8+
call:
9+
uses: control-toolbox/CTActions/.github/workflows/spell-check.yml@main

.github/workflows/UpdateReadme.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Update README with ABOUT.md and INSTALL.md
2+
3+
on:
4+
schedule:
5+
- cron: '0 6 * * 1' # every Monday at 06:00 UTC
6+
workflow_dispatch: # manual trigger
7+
8+
jobs:
9+
check-template:
10+
runs-on: ubuntu-latest
11+
outputs:
12+
has_template: ${{ steps.check.outputs.has_template }}
13+
steps:
14+
- name: Checkout repo
15+
uses: actions/checkout@v5
16+
17+
- name: Check for README.template.md
18+
id: check
19+
shell: bash
20+
run: |
21+
if [[ -f "README.template.md" ]]; then
22+
echo "has_template=true" >> "$GITHUB_OUTPUT"
23+
else
24+
echo "has_template=false" >> "$GITHUB_OUTPUT"
25+
echo "README.template.md not found. Skipping README update." >&2
26+
fi
27+
28+
call-shared:
29+
needs: check-template
30+
if: ${{ needs.check-template.outputs.has_template == 'true' }}
31+
uses: control-toolbox/CTActions/.github/workflows/update-readme.yml@main
32+
with:
33+
template_file: README.template.md
34+
output_file: README.md
35+
package_name: Tutorials # package for INSTALL.md
36+
repo_name: control-toolbox/Tutorials.jl # repository for CONTRIBUTING.md links
37+
doc_url: https://control-toolbox.org/Tutorials.jl
38+
assignee: "ocots"
39+
secrets: inherit

CONTRIBUTING.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
## Contributing
2+
3+
[issue-url]: https://github.com/control-toolbox/Tutorials.jl/issues
4+
[first-good-issue-url]: https://github.com/control-toolbox/Tutorials.jl/contribute
5+
6+
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
7+
Before opening a pull request, please start an issue or a discussion on the topic.
8+
9+
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions). You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
10+
11+
If you want to ask a question, feel free to start a discussion [here](https://github.com/orgs/control-toolbox/discussions). This forum is for general discussion about this repository and the [control-toolbox organization](https://github.com/control-toolbox).
12+
13+
>[!NOTE]
14+
> If you want to add an application or a package to the control-toolbox ecosystem, please follow this [set up tutorial](https://github.com/orgs/control-toolbox/discussions/65).

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "Tutorials"
22
uuid = "cb10daa6-a5e5-4c25-a171-ae181b8ea3c9"
33
authors = ["Olivier Cots <olivier.cots@toulouse-inp.fr>"]
4-
version = "0.1.4"
4+
version = "0.3.2"
55

66
[compat]
77
julia = "1.10"

README.md

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,53 @@
11
# Tutorials.jl
22

3-
[ci-img]: https://github.com/control-toolbox/Tutorials.jl/actions/workflows/CI.yml/badge.svg?branch=main
4-
[ci-url]: https://github.com/control-toolbox/Tutorials.jl/actions/workflows/CI.yml?query=branch%3Amain
3+
<!--
4+
For instructions on how to customize this README.template.md and use the centralized workflow,
5+
please see the user guide: https://github.com/orgs/control-toolbox/discussions/67
6+
-->
57

6-
[co-img]: https://codecov.io/gh/control-toolbox/Tutorials.jl/branch/main/graph/badge.svg?token=YM5YQQUSO3
7-
[co-url]: https://codecov.io/gh/control-toolbox/Tutorials.jl
8+
The Tutorials.jl repo is part of the [control-toolbox ecosystem](https://github.com/control-toolbox).
89

9-
[doc-dev-img]: https://img.shields.io/badge/docs-dev-8A2BE2.svg
10-
[doc-dev-url]: https://control-toolbox.org/Tutorials.jl/dev/
10+
| **Category** | **Badge** |
11+
|-----------------------|-----------|
12+
| **Documentation** | [![Stable Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://control-toolbox.org/Tutorials.jl/stable/) [![Dev Docs](https://img.shields.io/badge/docs-dev-8A2BE2.svg)](https://control-toolbox.org/Tutorials.jl/dev/) |
13+
| **CI / Build** | [![Build Status](https://github.com/control-toolbox/Tutorials.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/control-toolbox/Tutorials.jl/actions/workflows/CI.yml?query=branch%3Amain) |
14+
| **Test Coverage** | [![Coverage](https://codecov.io/gh/control-toolbox/Tutorials.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/control-toolbox/Tutorials.jl) |
15+
| **Release / Version** | [![Release](https://img.shields.io/github/v/release/control-toolbox/Tutorials.jl.svg)](https://github.com/control-toolbox/Tutorials.jl/releases) |
16+
| **License** | [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/control-toolbox/Tutorials.jl/blob/master/LICENSE) |
17+
| **Code Style / Quality** | [![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/JuliaDiff/BlueStyle) [![Aqua.jl](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl) |
1118

12-
[doc-stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
13-
[doc-stable-url]: https://control-toolbox.org/Tutorials.jl/stable/
19+
## About control-toolbox
1420

15-
[licence-img]: https://img.shields.io/badge/License-MIT-yellow.svg
16-
[licence-url]: https://github.com/control-toolbox/Tutorials.jl/blob/master/LICENSE
21+
The **control-toolbox** ecosystem brings together <a href="https://julialang.org" style="display:inline-flex; align-items:center;">
22+
<img src="https://raw.githubusercontent.com/JuliaLang/julia-logo-graphics/master/images/julia.ico" width="16em" style="margin-right:0.3em;">
23+
Julia
24+
</a> packages for mathematical control and its applications.
1725

18-
[aqua-img]: https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg
19-
[aqua-url]: https://github.com/JuliaTesting/Aqua.jl
26+
- The root package, [OptimalControl.jl](https://github.com/control-toolbox/OptimalControl.jl), provides tools to model and solve optimal control problems defined by ordinary differential equations. It supports both direct and indirect methods, and can run on CPU or GPU.
2027

21-
[blue-img]: https://img.shields.io/badge/code%20style-blue-4495d1.svg
22-
[blue-url]: https://github.com/JuliaDiff/BlueStyle
28+
<p align="right">
29+
<a href="http://control-toolbox.org/OptimalControl.jl">
30+
<img src="https://img.shields.io/badge/Documentation-OptimalControl.jl-blue" alt="Documentation OptimalControl.jl">
31+
</a>
32+
</p>
2333

24-
This repo is part of the [control-toolbox ecosystem](https://github.com/control-toolbox).
25-
The control-toolbox ecosystem gathers Julia packages for mathematical control and applications. The root package is [OptimalControl.jl](https://github.com/control-toolbox/OptimalControl.jl) which aims to provide tools to model and solve optimal control problems with ordinary differential equations by direct and indirect methods, both on CPU and GPU.
34+
- Complementing it, [OptimalControlProblems.jl](https://github.com/control-toolbox/OptimalControlProblems.jl) offers a curated collection of benchmark optimal control problems formulated with ODEs in Julia. Each problem is available both in the **OptimalControl** DSL and in **JuMP**, with discretised versions ready to be solved using the solver of your choice. This makes the package particularly useful for benchmarking and comparing different solution strategies.
2635

27-
[![doc OptimalControl.jl](https://img.shields.io/badge/Documentation-OptimalControl.jl-blue)](http://control-toolbox.org/OptimalControl.jl)
28-
29-
| **Name** | **Badge** |
30-
:-------------------|:------------------|
31-
| Documentation | [![Documentation][doc-stable-img]][doc-stable-url] [![Documentation][doc-dev-img]][doc-dev-url] |
32-
| Code Status | [![Build Status][ci-img]][ci-url] [![Covering Status][co-img]][co-url] [![Aqua.jl][aqua-img]][aqua-url] [![Code Style: Blue][blue-img]][blue-url] |
33-
| Licence | [![License: MIT][licence-img]][licence-url] |
36+
<p align="right">
37+
<a href="http://control-toolbox.org/OptimalControlProblems.jl">
38+
<img src="https://img.shields.io/badge/Documentation-OptimalControlProblems.jl-blue" alt="Documentation OptimalControlProblems.jl">
39+
</a>
40+
</p>
3441

3542
## Contributing
3643

3744
[issue-url]: https://github.com/control-toolbox/Tutorials.jl/issues
3845
[first-good-issue-url]: https://github.com/control-toolbox/Tutorials.jl/contribute
3946

40-
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
47+
If you think you found a bug or if you have a feature request / suggestion, feel free to open an [issue][issue-url].
4148
Before opening a pull request, please start an issue or a discussion on the topic.
4249

43-
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project).
44-
If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions).
45-
You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
50+
Contributions are welcomed, check out [how to contribute to a Github project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project). If it is your first contribution, you can also check [this first contribution tutorial](https://github.com/firstcontributions/first-contributions). You can find first good issues (if any 🙂) [here][first-good-issue-url]. You may find other packages to contribute to at the [control-toolbox organization](https://github.com/control-toolbox).
4651

4752
If you want to ask a question, feel free to start a discussion [here](https://github.com/orgs/control-toolbox/discussions). This forum is for general discussion about this repository and the [control-toolbox organization](https://github.com/control-toolbox).
4853

README.template.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Tutorials.jl
2+
3+
<!--
4+
For instructions on how to customize this README.template.md and use the centralized workflow,
5+
please see the user guide: https://github.com/orgs/control-toolbox/discussions/67
6+
-->
7+
8+
The Tutorials.jl repo is part of the [control-toolbox ecosystem](https://github.com/control-toolbox).
9+
10+
<!-- INCLUDE_BADGES: Documentation, CI, Coverage, Release, License, CodeStyle -->
11+
12+
<!-- INCLUDE_ABOUT -->
13+
14+
<!-- INCLUDE_CONTRIBUTING -->

docs/Project.toml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
33
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
44
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
55
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
6+
DocumenterInterLinks = "d12716ef-a0f6-4df4-a9f1-a5a34e75c656"
67
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
78
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
89
MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9"
@@ -15,22 +16,24 @@ OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
1516
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
1617
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
1718
Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb"
19+
Tutorials = "cb10daa6-a5e5-4c25-a171-ae181b8ea3c9"
1820

1921
[compat]
20-
BenchmarkTools = "1.6"
21-
DataFrames = "1.7"
22+
BenchmarkTools = "1"
23+
DataFrames = "1"
2224
DifferentiationInterface = "0.7"
23-
Documenter = "1.8"
25+
Documenter = "1"
26+
DocumenterInterLinks = "1"
2427
ForwardDiff = "0.10, 1"
2528
LinearAlgebra = "1"
26-
MINPACK = "1.3"
29+
MINPACK = "1"
2730
MadNLP = "0.8"
2831
NLPModels = "0.21"
29-
NLPModelsIpopt = "0.10"
30-
NonlinearSolve = "4.6"
31-
OptimalControl = "1.0"
32-
OrdinaryDiffEq = "6.93"
33-
Plots = "1.40"
32+
NLPModelsIpopt = "0.11"
33+
NonlinearSolve = "4"
34+
OptimalControl = "1"
35+
OrdinaryDiffEq = "6"
36+
Plots = "1"
3437
Printf = "1"
3538
Suppressor = "0.2"
3639
julia = "1.10"

docs/extras/disc.jl

Lines changed: 0 additions & 124 deletions
This file was deleted.

0 commit comments

Comments
 (0)