This repository has been archived by the owner on Jan 25, 2024. It is now read-only.
Build kernel #149
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build kernel | |
on: | |
push: | |
branches: [ "main" ] | |
schedule: | |
- cron: "10 0 * * *" # run at the start of every day after configs are updated | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-kernel-mainline: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Maximizing build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 5120 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
- name: Checking out repository code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Installing dependencies | |
run: sudo apt update && sudo apt install -y git build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison binutils dracut | |
- name: Building Kernel | |
run: bash build.sh mainline | |
- name: Uploading as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mainline-kernel | |
retention-days: 1 | |
path: | | |
bzImage | |
modules.tar.xz | |
headers.tar.xz | |
initramfs.cpio.xz | |
build-kernel-chromeos: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Maximizing build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 5120 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
- name: Checking out repository code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Installing dependencies | |
run: sudo apt update && sudo apt install -y git build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison binutils dracut | |
- name: Building Kernel | |
run: bash build.sh chromeos | |
- name: Uploading as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: chromeos-kernel | |
retention-days: 1 | |
path: | | |
bzImage | |
modules.tar.xz | |
headers.tar.xz | |
initramfs.cpio.xz | |
build-kernel-noinitramfs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Maximizing build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 5120 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
- name: Checking out repository code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Installing dependencies | |
run: sudo apt update && sudo apt install -y git build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison binutils dracut | |
- name: Building Kernel | |
run: bash build.sh noinitramfs | |
- name: Uploading as artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: noinitramfs-kernel | |
retention-days: 1 | |
path: | | |
bzImage | |
modules.tar.xz | |
headers.tar.xz | |
initramfs.cpio.xz | |
create-release: | |
runs-on: ubuntu-latest | |
needs: [ build-kernel-mainline, build-kernel-chromeos, build-kernel-noinitramfs ] | |
steps: | |
- name: Checking out repository code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Deleting old dev release | |
uses: cb80/delrel@latest | |
with: | |
tag: dev-build | |
- name: Generating release tag and setting prerelease + name | |
id: tag | |
run: | | |
message=$(git log -1 --pretty=format:"%s") | |
echo "commit_message=$message" >> $GITHUB_OUTPUT | |
- name: creating tmp folder | |
run: mkdir /tmp/artifacts | |
- name: Downloading kernel artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: /tmp/artifacts/ | |
- name: Renaming kernel artifacts | |
run: | | |
# append kernel type to downloaded artifacts | |
cd "/tmp/artifacts/mainline-kernel" | |
for file in *; do | |
if [ -f "$file" ]; then | |
mv "$file" "mainline-$file" | |
fi | |
done | |
cd "/tmp/artifacts/chromeos-kernel" | |
for file in *; do | |
if [ -f "$file" ]; then | |
mv "$file" "chromeos-$file" | |
fi | |
done | |
cd "/tmp/artifacts/noinitramfs-kernel" | |
for file in *; do | |
if [ -f "$file" ]; then | |
mv "$file" "noinitramfs-$file" | |
fi | |
done | |
- name: Publishing new release | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: dev-build | |
name: Kernel builds - ${{ steps.tag.outputs.commit_message }} | |
prerelease: true | |
body: | | |
Triggered by ${{ github.sha }} at ${{ github.event.repository.updated_at }} | |
files: | | |
/tmp/artifacts/*-kernel/*-bzImage | |
/tmp/artifacts/*-kernel/*-modules.tar.xz | |
/tmp/artifacts/*-kernel/*-headers.tar.xz | |
/tmp/artifacts/*-kernel/*-initramfs.cpio.xz |