Skip to content

Commit 3564bbf

Browse files
authored
Merge pull request #52 from brauner/work
Migrate to multi-page Hugo website and add project infrastructure
2 parents f6ea44f + db8c153 commit 3564bbf

84 files changed

Lines changed: 2011 additions & 1221 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Feature Idea
2+
description: Propose a new kernel feature idea
3+
labels: ["wishlist"]
4+
body:
5+
- type: input
6+
id: title
7+
attributes:
8+
label: Feature title
9+
description: A short, descriptive title for the feature.
10+
placeholder: "e.g., Support detached mounts with pivot_root()"
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: description
16+
attributes:
17+
label: Description
18+
description: Describe the feature and how it would work.
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: usecase
24+
attributes:
25+
label: Use-Case
26+
description: Why is this feature valuable? What problem does it solve?
27+
validations:
28+
required: true
29+
30+
- type: dropdown
31+
id: category
32+
attributes:
33+
label: Category
34+
description: Which subsystem area does this relate to?
35+
multiple: true
36+
options:
37+
- mounts
38+
- pidfd
39+
- namespaces
40+
- filesystems
41+
- sockets
42+
- cgroups
43+
- block-devices
44+
- security
45+
- io-uring
46+
- processes
47+
- other
48+
49+
- type: textarea
50+
id: links
51+
attributes:
52+
label: Related links
53+
description: Links to mailing list threads, patches, documentation, etc.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Feature
2+
3+
<!-- Title of the feature being added, updated, or completed -->
4+
5+
## Type
6+
7+
<!-- Check one -->
8+
- [ ] New wishlist item
9+
- [ ] Moving item to in-progress
10+
- [ ] Marking item as completed
11+
- [ ] Other (describe below)
12+
13+
## Checklist
14+
15+
- [ ] Front matter is complete (`title`, `status`, `categories`)
16+
- [ ] Use-case section is included
17+
- [ ] Cc: Christian Brauner noted if implementing a feature from this list

.github/workflows/gh-pages.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
concurrency:
1414
group: ${{ github.workflow }}-${{ github.ref }}
1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717
with:
1818
submodules: true
1919
fetch-depth: 0
@@ -27,6 +27,20 @@ jobs:
2727
- name: Build
2828
run: cd website && hugo --minify -d ../public
2929

30+
- name: Validate front matter
31+
run: |
32+
errors=0
33+
for f in $(find website/content -name '*.md' ! -name '_index.md'); do
34+
if ! head -1 "$f" | grep -q '^---$'; then
35+
echo "ERROR: $f missing front matter"
36+
errors=$((errors + 1))
37+
fi
38+
done
39+
if [ "$errors" -gt 0 ]; then
40+
echo "$errors file(s) with missing front matter"
41+
exit 1
42+
fi
43+
3044
- name: Deploy
3145
uses: peaceiris/actions-gh-pages@v3
3246
if: ${{ github.ref == 'refs/heads/main' }}

CONTRIBUTING.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributing
2+
3+
Thank you for your interest in the UAPI Group Kernel Feature Wishlist. This
4+
document explains how to propose new features, claim existing ones, or mark
5+
items as completed.
6+
7+
## Proposing a new feature
8+
9+
1. Create a new Markdown file in the appropriate section directory
10+
under `website/content/`:
11+
- `wishlist/` for new ideas
12+
- `in-progress/` for features you are actively working on
13+
14+
2. Use the following front matter template:
15+
16+
```yaml
17+
---
18+
title: "Short descriptive title"
19+
weight: 10
20+
status: wishlist
21+
categories:
22+
- mounts
23+
- namespaces
24+
---
25+
```
26+
27+
3. Include a clear description of the feature and a **Use-Case** section
28+
explaining why this would be valuable.
29+
30+
4. Open a pull request.
31+
32+
## Claiming an item
33+
34+
To indicate you are working on a wishlist item:
35+
36+
1. Move the file from `website/content/wishlist/` to
37+
`website/content/in-progress/`.
38+
2. Update the `status` field in the front matter to `in-progress`.
39+
3. Open a pull request with your GitHub handle or email address noted.
40+
41+
## Marking an item as completed
42+
43+
When a feature has been merged into the kernel:
44+
45+
1. Move the file from its current location to `website/content/completed/`.
46+
2. Update the `status` field to `completed`.
47+
3. Add a `commit` field to the front matter with the commit SHA.
48+
4. Open a pull request.
49+
50+
## Attribution
51+
52+
**When implementing ideas on this list or ideas inspired by this list,
53+
please point that out explicitly and clearly in the associated patches
54+
and Cc `Christian Brauner <brauner (at) kernel (dot) org>`.**
55+
56+
## Categories
57+
58+
Use one or more of the following categories in front matter:
59+
60+
- `mounts` — mount namespaces, pivot_root, move_mount, statmount
61+
- `pidfd` — pidfd xattrs, CLONE_PIDFD, SCM_PIDFD
62+
- `namespaces` — user namespaces, PID namespaces, mount namespaces
63+
- `filesystems` — nullfs, blobfs, overlayfs, tmpfs, binfmt_misc
64+
- `sockets` — AF_UNIX, SCM_RIGHTS, SCM_PIDFD
65+
- `cgroups` — device cgroups, coredump limits
66+
- `block-devices` — loop devices, dm-verity, diskseq
67+
- `security` — LSM hooks, user namespace restrictions
68+
- `io-uring` — io_uring extensions
69+
- `processes` — pidfd, clone3, waitid, prctl
70+
71+
## Local development
72+
73+
```sh
74+
git clone --recurse-submodules https://github.com/uapi-group/kernel-features.git
75+
cd kernel-features/website
76+
hugo server
77+
```

0 commit comments

Comments
 (0)