Skip to content

Commit b0a3ffe

Browse files
committed
Massive debloat
1 parent 30a531c commit b0a3ffe

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+66
-8405
lines changed

.github/workflows/build.yml

Lines changed: 13 additions & 186 deletions
Original file line numberDiff line numberDiff line change
@@ -1,203 +1,30 @@
1-
name: Build PPPwn Live ISO
1+
name: Build
22

33
on:
4-
workflow_call:
5-
inputs:
6-
config:
7-
description: 'Buildroot configuration to use'
8-
required: false
9-
default: 'pppwn_defconfig'
10-
type: string
11-
architecture:
12-
description: 'Target architecture'
13-
required: false
14-
default: 'x86_64'
15-
type: string
16-
upload-artifacts:
17-
description: 'Whether to upload build artifacts'
18-
required: false
19-
default: true
20-
type: boolean
4+
push:
215
workflow_dispatch:
22-
inputs:
23-
config:
24-
description: 'Buildroot configuration to use'
25-
required: false
26-
default: 'pppwn_defconfig'
27-
type: choice
28-
options:
29-
- pppwn_defconfig
30-
architecture:
31-
description: 'Target architecture'
32-
required: false
33-
default: 'x86_64'
34-
type: choice
35-
options:
36-
- x86_64
37-
upload-artifacts:
38-
description: 'Upload build artifacts'
39-
required: false
40-
default: true
41-
type: boolean
42-
43-
env:
44-
BUILDROOT_VERSION: "2025.05"
45-
BUILDROOT_REPO: "https://github.com/buildroot/buildroot"
466

477
jobs:
488
build:
499
runs-on: ubuntu-latest
50-
strategy:
51-
matrix:
52-
include:
53-
- config: ${{ inputs.config || 'pppwn_defconfig' }}
54-
architecture: ${{ inputs.architecture || 'x86_64' }}
55-
5610
steps:
57-
- name: Checkout repository
58-
uses: actions/checkout@v4
59-
with:
60-
submodules: recursive
61-
fetch-depth: 0
62-
63-
- name: Install build dependencies
11+
- uses: actions/checkout@v4
12+
13+
- name: Install deps
6414
run: |
6515
sudo apt-get update
66-
sudo apt-get install -y \
67-
build-essential \
68-
libncurses5-dev \
69-
rsync \
70-
bc \
71-
wget \
72-
cpio \
73-
python3 \
74-
unzip \
75-
file \
76-
git \
77-
cmake \
78-
ninja-build \
79-
pkg-config \
80-
libtool \
81-
autoconf \
82-
automake \
83-
gettext \
84-
bison \
85-
flex \
86-
texinfo \
87-
help2man \
88-
gawk \
89-
libtool-bin \
90-
libglib2.0-dev \
91-
libfdt-dev \
92-
libpixman-1-dev \
93-
zlib1g-dev \
94-
libnfs-dev \
95-
libiscsi-dev
96-
97-
- name: Cache Buildroot source
98-
id: cache-buildroot
99-
uses: actions/cache@v4
100-
with:
101-
path: buildroot
102-
key: buildroot-${{ env.BUILDROOT_VERSION }}-${{ hashFiles('.github/workflows/build.yml') }}
103-
restore-keys: |
104-
buildroot-${{ env.BUILDROOT_VERSION }}-
105-
106-
- name: Clone Buildroot
107-
if: steps.cache-buildroot.outputs.cache-hit != 'true'
108-
run: |
109-
git clone --depth 1 --branch ${{ env.BUILDROOT_VERSION }} ${{ env.BUILDROOT_REPO }} buildroot
110-
111-
- name: Cache Buildroot downloads
112-
uses: actions/cache@v4
113-
with:
114-
path: buildroot/dl
115-
key: buildroot-dl-${{ hashFiles('br2-external/package/*/**.mk', 'br2-external/package/*/**.hash') }}
116-
restore-keys: |
117-
buildroot-dl-
118-
119-
- name: Cache Buildroot build artifacts
120-
uses: actions/cache@v4
121-
with:
122-
path: |
123-
buildroot/output/build
124-
buildroot/output/host
125-
key: buildroot-build-${{ matrix.config }}-${{ matrix.architecture }}-${{ hashFiles('br2-external/**', 'configs/**') }}
126-
restore-keys: |
127-
buildroot-build-${{ matrix.config }}-${{ matrix.architecture }}-
128-
buildroot-build-${{ matrix.config }}-
129-
buildroot-build-
16+
sudo apt-get install -y build-essential libncurses5-dev rsync bc wget cpio python3 unzip
13017
131-
- name: Configure Buildroot
132-
run: |
133-
cd buildroot
134-
make BR2_EXTERNAL=../br2-external ${{ matrix.config }}
135-
136-
- name: Build system
18+
- name: Build
13719
run: |
20+
git clone --depth 1 --branch 2025.05 https://github.com/buildroot/buildroot
13821
cd buildroot
22+
make BR2_EXTERNAL=../br2-external pppwn_defconfig
13923
make -j$(nproc)
24+
mv output/images/rootfs.iso9660 output/images/pppwn-live.iso
14025
141-
- name: Verify build artifacts
142-
run: |
143-
cd buildroot
144-
ls -la output/images/
145-
if [ ! -f output/images/rootfs.iso9660 ]; then
146-
echo "Error: ISO image not found"
147-
exit 1
148-
fi
149-
150-
# Rename ISO to more descriptive name
151-
mv output/images/rootfs.iso9660 output/images/pppwn-live-${{ matrix.architecture }}.iso
152-
153-
# Check ISO size (should be reasonable for a minimal system)
154-
ISO_SIZE=$(stat -c%s output/images/pppwn-live-${{ matrix.architecture }}.iso)
155-
echo "ISO size: $((ISO_SIZE / 1024 / 1024)) MB"
156-
157-
if [ $ISO_SIZE -gt 1073741824 ]; then # 1GB limit
158-
echo "Warning: ISO size is larger than expected"
159-
fi
160-
161-
# Verify ISO can be mounted (basic integrity check)
162-
mkdir -p /tmp/iso_test
163-
sudo mount -o loop output/images/pppwn-live-${{ matrix.architecture }}.iso /tmp/iso_test || {
164-
echo "Error: ISO cannot be mounted"
165-
exit 1
166-
}
167-
sudo umount /tmp/iso_test
168-
169-
- name: Generate build info
170-
run: |
171-
cd buildroot
172-
echo "Build Information" > ../build-info.txt
173-
echo "=================" >> ../build-info.txt
174-
echo "Build Date: $(date -u)" >> ../build-info.txt
175-
echo "Buildroot Version: ${{ env.BUILDROOT_VERSION }}" >> ../build-info.txt
176-
echo "Configuration: ${{ matrix.config }}" >> ../build-info.txt
177-
echo "Architecture: ${{ matrix.architecture }}" >> ../build-info.txt
178-
echo "Commit SHA: ${{ github.sha }}" >> ../build-info.txt
179-
echo "Branch: ${{ github.ref_name }}" >> ../build-info.txt
180-
echo "" >> ../build-info.txt
181-
echo "Package Versions:" >> ../build-info.txt
182-
echo "=================" >> ../build-info.txt
183-
make show-info >> ../build-info.txt 2>/dev/null || echo "Package info not available" >> ../build-info.txt
184-
185-
- name: Upload build artifacts
186-
if: ${{ inputs.upload-artifacts != false }}
187-
uses: actions/upload-artifact@v4
188-
with:
189-
name: pppwn-live-iso-${{ matrix.config }}-${{ matrix.architecture }}-${{ github.sha }}
190-
path: |
191-
buildroot/output/images/pppwn-live-${{ matrix.architecture }}.iso
192-
build-info.txt
193-
retention-days: 30
194-
195-
- name: Upload build logs on failure
196-
if: failure()
26+
- name: Upload
19727
uses: actions/upload-artifact@v4
19828
with:
199-
name: build-logs-${{ matrix.config }}-${{ matrix.architecture }}-${{ github.sha }}
200-
path: |
201-
buildroot/output/build/build-time.log
202-
buildroot/output/build/packages-file-list.txt
203-
retention-days: 7
29+
name: pppwn-live-iso
30+
path: buildroot/output/images/pppwn-live.iso

0 commit comments

Comments
 (0)