Skip to content

Commit 110ef9e

Browse files
committed
Merge branch 'develop' into enh/shepard-multiple-opt
2 parents acbc14d + fe90f77 commit 110ef9e

22 files changed

+76075
-163
lines changed

.github/auto-assign.yml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,2 @@
1-
# Set to true to add reviewers to PRs
2-
addReviewers: true
3-
41
# Set to 'author' to add PR's author as a assignee
52
addAssignees: author
6-
7-
# A list of reviewers to be added to PRs (GitHub user name)
8-
reviewers:
9-
- Gui-FernandesBR
10-
- giovaniceotto
11-
- MateusStano
12-
- phmbressan
13-
14-
# A number of reviewers added to the PR
15-
# Set 0 to add all the reviewers (default: 0)
16-
numberOfReviewers: 0
17-
18-
# A list of keywords to be skipped the process if PR's title include it
19-
skipKeywords:
20-
- wip
21-
- work in progress
22-
- draft

.github/workflows/codecov.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
coverage:
2+
status:
3+
project:
4+
default:
5+
# basic
6+
target: auto
7+
threshold: 1%
8+
base: auto
9+
flags:
10+
- unit
11+
paths:
12+
- "rocketpy"
13+
# advanced settings
14+
branches:
15+
- master
16+
- develop
17+
if_ci_failed: error #success, failure, error, ignore
18+
informational: false
19+
only_pulls: false
20+
patch:
21+
default:
22+
# basic
23+
target: auto
24+
threshold: 1%
25+
base: auto
26+
# advanced
27+
branches:
28+
- master
29+
- develop
30+
if_ci_failed: error #success, failure, error, ignore
31+
only_pulls: false
32+
flags:
33+
- "unit"
34+
paths:
35+
- "rocketpy"

.github/workflows/lint_black.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
python-version: 3.8
2020

2121
- name: Install Python dependencies
22-
run: pip install black
22+
run: pip install black[jupyter]
2323

2424
- name: Run linters
2525
uses: wearerequired/lint-action@v1

.github/workflows/test_pytest.yaml

Lines changed: 61 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: PyTest
1+
name: Tests
22

33
on:
44
pull_request:
@@ -7,58 +7,76 @@ on:
77
- "**.py"
88
- ".github/**"
99

10+
defaults:
11+
run:
12+
shell: bash
13+
1014
jobs:
11-
fail_if_pr_is_draft:
12-
if: github.event.pull_request.draft == true
13-
runs-on: ubuntu-18.04
14-
steps:
15-
- name: Fails in order to indicate that pull request needs to be marked as ready to review and unit tests workflow needs to pass.
16-
run: exit 1
17-
pytest_and_doctest:
15+
Pytest:
1816
runs-on: ${{ matrix.os }}
1917
strategy:
2018
matrix:
21-
os:
22-
- ubuntu-latest
23-
- macos-latest
24-
- windows-latest
25-
python-version:
26-
- 3.8
27-
- 3.12
19+
os: [ubuntu-latest, macos-latest, windows-latest]
20+
python-version: [3.8, 3.12]
2821
env:
2922
OS: ${{ matrix.os }}
3023
PYTHON: ${{ matrix.python-version }}
3124
steps:
32-
- uses: actions/checkout@v2
33-
- name: Set up Python ${{ matrix.python-version }}
25+
- uses: actions/checkout@v4
26+
- name: Set up Python
3427
uses: actions/setup-python@v2
3528
with:
3629
python-version: ${{ matrix.python-version }}
37-
- name: Install dependencies
38-
run: |
39-
python -m pip install --upgrade pip
40-
- name: Build RocketPy (without optional dependencies)
41-
run: |
42-
pip install .
43-
- name: Import rocketpy in python and test if it works
44-
run: |
45-
python -c "import sys, rocketpy; print(f'{rocketpy.__name__} running on Python {sys.version}')"
46-
- name: Install optional dependencies
47-
run: |
48-
pip install -r requirements-tests.txt
49-
- name: Test with pytest
50-
run: |
51-
pytest --cov=rocketpy --cov-report=xml
52-
cd rocketpy
53-
pytest --doctest-modules --cov=rocketpy --cov-report=xml
54-
- name: Upload coverage report to Codecov
55-
uses: codecov/codecov-action@v3
30+
31+
- name: Cache Python dependencies
32+
uses: actions/cache@v2
33+
with:
34+
path: ~/.cache/pip
35+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements-tests.txt') }}
36+
restore-keys: |
37+
${{ runner.os }}-pip-
38+
39+
- name: Install rocketpy
40+
run: pip install .
41+
42+
- name: Test importing rocketpy
43+
run: python -c "import sys, rocketpy; print(f'{rocketpy.__name__} running on Python {sys.version}')"
44+
45+
- name: Install test dependencies
46+
run: pip install -r requirements-tests.txt
47+
48+
- name: Run Unit Tests
49+
run: pytest tests/unit --cov=rocketpy
50+
51+
- name: Run Integration Tests
52+
run: pytest $(find tests -maxdepth 1 -name "*.py") --cov=rocketpy --cov-append
53+
54+
- name: Run Documentation Tests
55+
run: pytest rocketpy --doctest-modules --cov=rocketpy --cov-append
56+
57+
- name: Run Acceptance Tests
58+
run: pytest tests/acceptance --cov=rocketpy --cov-append --cov-report=xml
59+
60+
- name: Run pytest --runslow
61+
if: github.ref == 'refs/heads/master'
62+
run: pytest tests -m slow --runslow --cov=rocketpy --cov-append --cov-report=xml
63+
64+
- name: Upload coverage to artifacts
65+
uses: actions/upload-artifact@v2
66+
with:
67+
name: coverage
68+
path: coverage.xml
69+
70+
CodecovUpload:
71+
needs: Pytest
72+
runs-on: ubuntu-latest
73+
steps:
74+
- uses: actions/checkout@v4
75+
- name: Download all coverage reports
76+
uses: actions/download-artifact@v2
77+
- name: Upload to Codecov
78+
uses: codecov/codecov-action@v2
5679
with:
5780
token: ${{ secrets.CODECOV_TOKEN }}
58-
directory: ./coverage/reports/
59-
env_vars: OS,PYTHON
60-
fail_ci_if_error: true
61-
files: ./coverage.xml, ./rocketpy/coverage.xml
62-
flags: unittests
63-
name: codecov-umbrella
64-
verbose: true
81+
files: |
82+
coverage.xml
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Upload to Codecov
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
codecov_token:
7+
required: true
8+
type: string
9+
os:
10+
required: true
11+
type: string
12+
python:
13+
required: true
14+
type: string
15+
16+
jobs:
17+
upload:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Upload coverage report to Codecov
21+
uses: codecov/codecov-action@v3
22+
with:
23+
token: ${{ inputs.codecov_token }}
24+
directory: ./coverage/reports/
25+
env_vars: OS,PYTHON
26+
files: ./coverage.xml, ./rocketpy/coverage.xml
27+
flags: unittests
28+
name: codecov-umbrella
29+
verbose: true

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ straightforward as possible.
4343
### Fixed
4444

4545
- ENH: Parachute trigger doesn't work if "Apogee" is used instead of "apogee" [#489](https://github.com/RocketPy-Team/RocketPy/pull/489)
46+
- BUG: fin_flutter_analysis doesn't find any fin set [#510](https://github.com/RocketPy-Team/RocketPy/pull/510)
47+
- FIX: EmptyMotor is breaking the Rocket.draw() method [#516](https://github.com/RocketPy-Team/RocketPy/pull/516)
48+
- BUG: 3D trajectory plot not labeling axes [#533](https://github.com/RocketPy-Team/RocketPy/pull/533)
49+
- BUG: Invalid Arguments on Two Dimensional Discretize. [#521](https://github.com/RocketPy-Team/RocketPy/pull/521)
4650

4751
## [v1.1.4] - 2023-12-07
4852

data/juno3/README.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Rocket Launch
2+
=============
3+
Projeto Jupiter is a rocket design team from the Univ. of São Paulo, Brazil
4+
They launched the rocket `Juno III` at the SACup 2023 (10k Solid SRAD)
5+
The rocket flew at June 23rd, around 17hrs local time.
6+
7+
Data Permission
8+
===============
9+
Juliana Carloni (Projeto Jupiter) shared the data with the RocketPy Team in
10+
2023 right after launch.
11+
12+
Highlights
13+
==========
14+
Apogee registered at Flight Card: `3213 m`
15+
Last simulated apogee before Flight: `3026.054 m`
16+
Flight performance: Only the drogue chute was ejected.
17+
18+
Data
19+
====
20+
3 different datasets are available, from 3 different sources:
21+
- cots_altimeter.csv : This COTS altimeter (RRC3) logged the altitude and pressure.
22+
- cots_GNSS.csv : A log from the COTS GNSS sensor.
23+
- srad_telemetry : SRAD telemetry data logged by the team. This might be noisy.

0 commit comments

Comments
 (0)