|
| 1 | +--- |
| 2 | +title: 'Submitting a PR' |
| 3 | +lastUpdated: 2026-01-11T21:22:00 |
| 4 | +--- |
| 5 | + |
| 6 | +import { Aside } from "@astrojs/starlight/components"; |
| 7 | + |
| 8 | + |
| 9 | +# Submitting packages to AerynOS repository |
| 10 | + |
| 11 | +Once you have prepared your package, you can submit it to the AerynOS repository by creating a pull request (PR). There are certain guidelines to follow when submitting a PR: |
| 12 | + |
| 13 | +## Naming Pull Requests |
| 14 | + |
| 15 | +To keep git summaries readable, AerynOS requires the following git summary format |
| 16 | + |
| 17 | +- `name: Add at v<version>` |
| 18 | +- `name: Update to v<version>` |
| 19 | +- `name: Fix <...>` |
| 20 | +- `[NFC] name: <description of no functional change commit>` |
| 21 | + |
| 22 | +<Aside type="note" title="No Functional Change"> |
| 23 | + NFC refers to "No Functional Change", which means that the commit does not introduce any new functionality or behavior, so a recipe does not need to be rebuilt as part of the PR process. |
| 24 | +</Aside> |
| 25 | + |
| 26 | +## Content of Pull Request descriptions |
| 27 | + |
| 28 | +Git commits should be self-contained and self-explanatory. They serve as documentation for the changes made to a codebase so that others can understand and review them and also refer back to them later down the line. It is important to provide high quality git commit messages so that you or other contributors can understand the changes you are making and why. |
| 29 | + |
| 30 | +While you know what you're doing in the moment, other contributors may not, and as time goes by, bisecting changes becomes more difficult if commit messages give you no clue as to why you made a change or what regressions might be caused if you alter it. |
| 31 | + |
| 32 | +### Commit message format |
| 33 | + |
| 34 | +The recommendation for commit messages is: |
| 35 | + |
| 36 | +- Short summary written in the imperative mood |
| 37 | +- A few sentences or bullet points with the key changes this commit introduces |
| 38 | +- Link to full changelog (if applicable). If this commit updates the recipe several versions, consider splitting the changelog out into version bullet point entries in ascending order (newest change last). |
| 39 | +- Test plan demonstrating that you have actually confirmed the changes work on your local system |
| 40 | +- If the change resolves an issue, include a Resolves line with the issue number (Where `issuenumber` is the issue number of the package request/update). |
| 41 | + |
| 42 | +The last point about the test plan is particularly important, as it ensures that the changes have been tested and verified before being merged into the main codebase. There is an explicit agreement that you take ownership of the quality of the changes/updates you submit, and that you understand that if there are issues, you are likely to be the first person consulted to fix said issues. |
| 43 | + |
| 44 | +<Aside type="note" title="The imperative mood"> |
| 45 | + Git commits should be written in the [imperative mood](https://medium.com/@luka_78026/imperative-mood-makes-you-feel-good-1cad063d7014). This means that the commit message should start with a verb in the present tense, such as "Add", "Update", or "Fix". This makes the commit message more concise and easier to understand. |
| 46 | +</Aside> |
| 47 | + |
| 48 | +#### Example commit message |
| 49 | + |
| 50 | +An example commit message for the AerynOS recipe repository is structured as follows: |
| 51 | + |
| 52 | +``` |
| 53 | +brobdingnar: Update to v1.2.3 |
| 54 | +
|
| 55 | +Write a suitable short summary of the changes if relevant, including potentially a list of things like: |
| 56 | +- foo |
| 57 | +- bar |
| 58 | +- baz |
| 59 | +
|
| 60 | +Full changelog [here](the.uri) |
| 61 | +
|
| 62 | +**Test Plan**: |
| 63 | +
|
| 64 | +- Build and install the updated package |
| 65 | +- Confirm functionality of changes |
| 66 | +
|
| 67 | +**Resolves**: |
| 68 | +(If applicable for the recipes repository) Resolves aerynos/recipes#issuenumber |
| 69 | +``` |
0 commit comments