Skip to content

Commit 9e2a954

Browse files
committed
add changelog and prep for f41
1 parent c0c18e8 commit 9e2a954

File tree

3 files changed

+80
-5
lines changed

3 files changed

+80
-5
lines changed

.github/workflows/build.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,21 @@ jobs:
3535

3636
- name: Create Build Environment
3737
run: |
38-
sudo podman build . --tag 'fedora_builder' --build-arg UID=$(id -u) --build-arg GID=$(id -g)
38+
FEDORA_VERSION="${{ matrix.fedora_version }}"
39+
sudo podman build . --tag 'fedora_builder' \
40+
--build-arg UID=$(id -u) --build-arg GID=$(id -g) \
41+
--build-arg FEDORA_VERSION=${FEDORA_VERSION:-41}
42+
- name: Write Changelog
43+
run: |
44+
sudo podman run --rm -v $(pwd):/workspace fedora_builder \
45+
python3 release_changelog.py
3946
- name: Compile Kernel
4047
run: |
48+
FEDORA_VERSION="${{ matrix.fedora_version }}"
49+
ARCH="${{ matrix.arch }}"
4150
sudo podman run --rm -v $(pwd):/workspace fedora_builder fedpkg \
42-
--name kernel --namespace rpms --release "f${{ matrix.fedora_version }}" \
43-
local --arch "${{ matrix.arch }}" --with baseonly \
51+
--name kernel --namespace rpms --release "f${FEDORA_VERSION:-41}" \
52+
local --arch ${ARCH:-x86_64} --with baseonly \
4453
--builddir build --buildrootdir buildroot
4554
4655
- name: Separate debuginfo into different folder

Dockerfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
FROM fedora
1+
ARG FEDORA_VERSION=41
2+
3+
FROM fedora:${FEDORA_VERSION}
24

35
RUN dnf install -y fedpkg fedora-packager rpmdevtools ncurses-devel pesign \
46
asciidoc audit-libs-devel bc bindgen binutils-devel bison clang dwarves \
@@ -9,7 +11,7 @@ RUN dnf install -y fedpkg fedora-packager rpmdevtools ncurses-devel pesign \
911
numactl-devel openssl openssl-devel pciutils-devel perl perl-devel \
1012
perl-generators python3-devel python3-docutils rsync rust rust-src \
1113
systemd-boot-unsigned systemd-ukify which xmlto xz-devel zlib-devel \
12-
&& dnf clean all
14+
python3-requests hmaccalc dracut tpm2-tools && dnf clean all
1315

1416
ARG UID=1000
1517
ARG GID=1000

release_changelog.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
URL = "https://api.github.com/repos/hhd-dev/linux-bazzite/releases"
2+
3+
import requests
4+
import sys
5+
import datetime
6+
7+
contributors = {"antheas": "Antheas Kapenekakis <[email protected]>"}
8+
9+
# * Wed Aug 28 2024 Fedora Kernel Team <[email protected]> [6.11.0-0.rc5.86987d84b968.45]
10+
# - redhat: include resolve_btfids in kernel-devel (Jan Stancek)
11+
# - redhat: workaround CKI cross compilation for scripts (Jan Stancek)
12+
# - spec: fix "unexpected argument to non-parametric macro" warnings (Jan Stancek)
13+
# - Linux v6.11.0-0.rc5.86987d84b968
14+
15+
16+
def main():
17+
res = requests.get(URL)
18+
data = res.json()
19+
20+
out = ""
21+
22+
for release in data:
23+
# Wed Aug 28 2024
24+
date = datetime.datetime.strptime(
25+
release["published_at"], "%Y-%m-%dT%H:%M:%SZ"
26+
).strftime("%a %b %d %Y")
27+
author = release["author"]["login"]
28+
rel = release["tag_name"]
29+
30+
out += f"* {date} {contributors.get(author, author)} [{rel}]\n"
31+
out += f"- {release['name'].replace(rel + ": ", '')}\n"
32+
33+
body_lines = release["body"].split("\n")
34+
for line in body_lines:
35+
parts = line.split(" ")
36+
buf = ""
37+
for part in parts:
38+
if len(buf) + len(part) + 1 > 80 and not part.startswith("http"):
39+
out += f" {buf}\n"
40+
buf = part
41+
else:
42+
buf += f" {part}"
43+
if buf:
44+
out += f" {buf}\n"
45+
out += "\n"
46+
47+
with open("kernel.spec", "r") as f:
48+
spec = f.read()
49+
50+
spec = spec.replace("%changelog", "%changelog\n" + out)
51+
52+
with open("kernel.spec", "w") as f:
53+
f.write(spec)
54+
55+
print(f"Wrote changelog:\n{out}")
56+
57+
58+
if __name__ == "__main__":
59+
for i in range(3):
60+
try:
61+
main()
62+
break
63+
except Exception as e:
64+
print(f"Error:\n{e}. Retrying...", file=sys.stderr)

0 commit comments

Comments
 (0)