Skip to content

Commit 3529452

Browse files
NomadicCorejplatteermo
authored
New page: Packaging/Workflow/Submitting-a-PR (#66)
* New page: Packaging/Workflow/Submitting-a-PR Add a new page to provide guidance on how AerynOS would like PRs submitted to it's repositories. Mainly focused on the recipes repo however I've tried to make it generic as well. Utilised current Solus and old Solus-Project documentation as guidance. Added typographic asides as appropriate. Co-authored-by: Jonas Platte <jplatte+git@posteo.de> Co-authored-by: Rune Morling <ermo@serpentos.com>
1 parent 678607e commit 3529452

3 files changed

Lines changed: 74 additions & 0 deletions

File tree

astro.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ export default defineConfig({
146146
{ slug: "packaging/workflow/basic-workflow" },
147147
{ slug: "packaging/workflow/creating-a-new-recipe" },
148148
{ slug: "packaging/workflow/updating-an-existing-recipe" },
149+
{ slug: "packaging/workflow/submitting-a-pr" },
149150
],
150151
},
151152
{
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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+
```

src/content/docs/Packaging/Workflow/updating-an-existing-recipe.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ sudo moss install "package name"
127127

128128
Once you have tested the package, you can make a submission for including the update in the repository.
129129

130+
<Aside type="tip">
131+
To find guidance on how to submit a pull request (PR), you can refer to our [submit a pull request](/packaging/workflow/submitting-a-pr) page. s
132+
</Aside>
133+
130134
## Checking for updates
131135

132136
To simplify update tracking for package maintainers, AerynOS provides a tool called **Ent**. Ent checks recipes against upstream sources to determine whether updates are available.

0 commit comments

Comments
 (0)