|
1 | | -name: BasicallyLinux CI |
| 1 | +name: BasicallyLinux Build Pipeline |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | push: |
|
8 | 8 |
|
9 | 9 | jobs: |
10 | 10 | build: |
| 11 | + name: Compile Kernel |
11 | 12 | runs-on: ubuntu-latest |
12 | 13 |
|
13 | 14 | steps: |
14 | | - - name: Checkout Source Code |
15 | | - uses: actions/checkout@v4 |
| 15 | + - name: Checkout Code |
| 16 | + uses: actions/checkout@v4 |
16 | 17 |
|
17 | | - - name: Install Build Essentials |
18 | | - run: | |
19 | | - sudo apt-get update |
20 | | - sudo apt-get install -y \ |
21 | | - nasm \ |
22 | | - make \ |
23 | | - binutils-i686-linux-gnu \ |
24 | | - gcc-i686-linux-gnu \ |
25 | | - grub-pc-bin \ |
26 | | - xorriso |
| 18 | + - name: Install Toolchain |
| 19 | + run: | |
| 20 | + sudo apt-get update |
| 21 | + sudo apt-get install -y \ |
| 22 | + nasm \ |
| 23 | + make \ |
| 24 | + binutils-i686-linux-gnu \ |
| 25 | + gcc-i686-linux-gnu \ |
| 26 | + grub-common \ |
| 27 | + xorriso |
27 | 28 |
|
28 | | - - name: Compile BasicallyLinux |
29 | | - run: | |
30 | | - # We specify the cross-compiler explicitly in case the Makefile |
31 | | - # uses generic 'gcc' or 'ld' names. |
32 | | - make CC=i686-linux-gnu-gcc LD=i686-linux-gnu-ld AS=nasm |
| 29 | + - name: Build BasicallyLinux |
| 30 | + # We override the compiler variables to use the installed cross-compiler |
| 31 | + run: | |
| 32 | + mkdir -p bin |
| 33 | + make CC=i686-linux-gnu-gcc LD=i686-linux-gnu-ld AS=nasm |
33 | 34 |
|
34 | | - - name: Verify Binary Integrity |
35 | | - run: | |
36 | | - if [ ! -f bin/basicallylinux.bin ]; then |
37 | | - echo "❌ Error: basicallylinux.bin was not generated!" |
38 | | - exit 1 |
39 | | - fi |
40 | | - echo "✅ Build Successful: Kernel binary verified." |
41 | | -
|
42 | | - - name: Upload Build Artifacts |
43 | | - uses: actions/upload-artifact@v4 |
44 | | - with: |
45 | | - name: basicallylinux-kernel-bin |
46 | | - path: bin/basicallylinux.bin |
| 35 | + - name: Archive Build Artifacts |
| 36 | + if: success() |
| 37 | + uses: actions/upload-artifact@v4 |
| 38 | + with: |
| 39 | + name: basicallylinux-binary |
| 40 | + path: bin/basicallylinux.bin |
0 commit comments