Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
fb44b01
Create changelog.yml for release drafting
Malmahrouqi3 Dec 8, 2025
6c34705
new workflow
Dec 9, 2025
d953f71
Change branch reference for changelog update
Malmahrouqi3 Dec 9, 2025
4c018b9
Update auto-assign.yml
Malmahrouqi3 Dec 9, 2025
a8d4bd3
Merge pull request #2 from Malmahrouqi3/changelog-update-5
Malmahrouqi3 Dec 9, 2025
9a7a4cd
Fix typo in changelog.yml conditional statement
Malmahrouqi3 Dec 9, 2025
dac3ae2
Update README with main features section
Malmahrouqi3 Dec 9, 2025
3649d29
Merge pull request #3 from Malmahrouqi3/changelog-update-5
Malmahrouqi3 Dec 9, 2025
bf7c48d
docs: update changelog for PR #3
github-actions[bot] Dec 9, 2025
2581538
Enhance community section in README
Malmahrouqi3 Dec 9, 2025
f546674
Merge pull request #4 from Malmahrouqi3/changelog-update-2
Malmahrouqi3 Dec 9, 2025
313f077
docs: update changelog for PR #4
github-actions[bot] Dec 9, 2025
c6fb2f9
Update README with RocketPy import example
Malmahrouqi3 Dec 9, 2025
3ceee29
Merge pull request #5 from Malmahrouqi3/changelog-update-4
Malmahrouqi3 Dec 9, 2025
3722283
docs: update changelog for PR #5
github-actions[bot] Dec 9, 2025
f3a6387
Fix typo in changelog commit message
Malmahrouqi3 Dec 9, 2025
0459771
Update .gitignore
Malmahrouqi3 Dec 9, 2025
fe67255
Merge pull request #6 from Malmahrouqi3/changelog-update-3
Malmahrouqi3 Dec 9, 2025
e9370ed
DOC: Ipdate Changelog for PR #6
github-actions[bot] Dec 9, 2025
cd9e3ed
Fix typo in changelog commit message
Malmahrouqi3 Dec 9, 2025
7618d5e
Add branch filter for changelog workflow
Malmahrouqi3 Dec 9, 2025
4ef3d5b
Update README with aerodynamic models section
Malmahrouqi3 Dec 9, 2025
09400af
Change target branch for pull request workflow
Malmahrouqi3 Dec 9, 2025
b57bded
Merge pull request #7 from Malmahrouqi3/changelog-update-3
Malmahrouqi3 Dec 9, 2025
6a90395
DOC: Update Changelog for PR #7
github-actions[bot] Dec 9, 2025
581f82a
updating new things
Dec 9, 2025
9482736
Remove floating point precision fix entry from CHANGELOG
Malmahrouqi3 Dec 9, 2025
644e8c1
re-org
Dec 9, 2025
1a45e18
Few adjustments to work on the base repo, develop branch.
Malmahrouqi3 Dec 9, 2025
c7e7f68
new changes
Dec 9, 2025
b5c8a5e
restored stuff
Dec 10, 2025
576e273
doc changes
Dec 10, 2025
b114688
updated changelog for this PR
Dec 10, 2025
a34a0fd
updated changelog
Dec 10, 2025
8b5021a
Merge branch 'develop' into enh/populate-changelog
Malmahrouqi3 Dec 10, 2025
d152aad
PR # included in changelog
Malmahrouqi3 Dec 10, 2025
c932654
DOC: clearer words and corrected grammar
Dec 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Populate Changelog
on:
pull_request:
types: [closed]
branches:
- develop

jobs:
Changelog:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest

steps:
- name: Clone RocketPy
uses: actions/checkout@main
with:
repository: RocketPy-Team/RocketPy
ref: develop
token: ${{ secrets.GITHUB_TOKEN }}

- name: Update Changelog
env:
PR_TITLE: ${{ github.event.pull_request.title }}
PR_NUMBER: ${{ github.event.pull_request.number }}
PR_LABELS: ${{ join(github.event.pull_request.labels.*.name, ',') }}
run: |
SECTION="### Added"
PREFIX="ENH"

if [[ "$PR_LABELS" == *"Bug"* ]]; then
SECTION="### Fixed"
PREFIX="BUG"
elif [[ "$PR_LABELS" == *"Refactor"* ]]; then
SECTION="### Changed"
PREFIX="MNT"
elif [[ "$PR_LABELS" == *"Docs"* ]] && [[ "$PR_LABELS" == *"Git housekeeping"* ]]; then
SECTION="### Changed"
PREFIX="DOC"
elif [[ "$PR_LABELS" == *"Tests"* ]]; then
SECTION="### Changed"
PREFIX="TST"
elif [[ "$PR_LABELS" == *"Docs"* ]]; then
# Only documentation -> Added section
SECTION="### Added"
PREFIX="DOC"
fi

ENTRY="- $PREFIX: $PR_TITLE [#$PR_NUMBER](https://github.com/RocketPy-Team/RocketPy/pull/$PR_NUMBER)"
SECTION_LINE=$(grep -n "^$SECTION$" CHANGELOG.md | head -1 | cut -d: -f1)

sed -i "$((SECTION_LINE + 1))a\\$ENTRY" CHANGELOG.md

- name: Push Changes
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add CHANGELOG.md
git commit -m "DOC: Update Changelog for PR #${{ github.event.pull_request.number }}"
git push
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
Attention: The newest changes should be on top -->

### Added

- ENH: Auto Populate Changelog [#919](https://github.com/RocketPy-Team/RocketPy/pull/919)
- ENH: Add background map auto download functionality to Monte Carlo plots [#896](https://github.com/RocketPy-Team/RocketPy/pull/896)
- MNT: net thrust addition to 3 dof in flight class [#907] (https://github.com/RocketPy-Team/RocketPy/pull/907)
- ENH: 3-dof lateral motion improvement [#883](https://github.com/RocketPy-Team/RocketPy/pull/883)
Expand Down
9 changes: 4 additions & 5 deletions docs/development/first_pr.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,13 @@ The CHANGELOG file
------------------

We keep track of the changes in the ``CHANGELOG.md`` file.
When you open a PR, you should add a new entry to the "Unreleased" section of the file.
This entry should simply be the title of your PR.
When you open a PR, you should see the "Unreleased" section of the file.
An entry will simply contain the title of your PR if merged.

.. note::

In the future we would like to automate the CHANGELOG update, but for now \
it is a manual process, unfortunately.

The CHANGELOG is auto-updated once a PR is merged based on the associated labels, \
which are assigned by the maintainers.

The review process
------------------
Expand Down
11 changes: 6 additions & 5 deletions docs/development/style_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,15 +162,16 @@ Standard acronyms to start the commit message with are::
Pull Requests
^^^^^^^^^^^^^

When opening a Pull Request, the name of the PR should be clear and concise.
Similarly to the commit messages, the PR name should start with an acronym indicating the type of PR
and then a brief description of the changes.
When opening a Pull Request, the title should be clear and concise.
It should contain only a brief desctiption of the changes without the acronym (e.g. ENH:, BUG:).
The maintainers will label your PR accordingly, which will add a prefix via a workflow to indicate
type of the PR in the CHANGELOG file.

Here is an example of a good PR name:

- ``BUG: fix the Frequency Response plot of the Flight class``
- ``fix the Frequency Response plot of the Flight class``

The PR description explain the changes and motivation behind them. There is a template \
The PR description explains the changes and motivation behind them. There is a template \
available when opening a PR that can be used to guide you through the process of both \
describing the changes and making sure all the necessary steps were taken. Of course, \
you can always modify the template or add more information if you think it is necessary.
Expand Down