From b1250b002e0b6074335d9316f82a322381770104 Mon Sep 17 00:00:00 2001 From: Caner Karaca <37447503+CanerKaraca23@users.noreply.github.com> Date: Wed, 11 Jun 2025 01:23:22 +0300 Subject: [PATCH] Workflow Updates (#481) * Update * Use ubuntu-22.04 * Revert some renamings * Create renovate.json * oops --- .github/workflows/avd-kernel.yml | 2 +- .github/workflows/build-debug-kernel.yml | 26 ++--- .github/workflows/build-kernel-a12.yml | 10 +- .github/workflows/build-kernel-a13.yml | 20 ++-- .github/workflows/build-kernel-a14.yml | 23 ++-- .github/workflows/build-kernel-a15.yml | 10 +- .github/workflows/build-kernel-arcvm.yml | 137 +++++++++++++++++++++++ .github/workflows/build-kernel-avd.yml | 39 +++++++ .github/workflows/build-lkm.yml | 24 ++-- .github/workflows/clippy.yml | 4 +- .github/workflows/release.yml | 28 ++++- .github/workflows/wsa-kernel.yml | 24 ++-- 12 files changed, 279 insertions(+), 68 deletions(-) create mode 100644 .github/workflows/build-kernel-arcvm.yml create mode 100644 .github/workflows/build-kernel-avd.yml diff --git a/.github/workflows/avd-kernel.yml b/.github/workflows/avd-kernel.yml index 5ee0f83c..96f85d68 100644 --- a/.github/workflows/avd-kernel.yml +++ b/.github/workflows/avd-kernel.yml @@ -37,7 +37,7 @@ on: jobs: build: name: Build ${{ inputs.version_name }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Maximize build space uses: easimon/maximize-build-space@master diff --git a/.github/workflows/build-debug-kernel.yml b/.github/workflows/build-debug-kernel.yml index af39b411..bf320a90 100644 --- a/.github/workflows/build-debug-kernel.yml +++ b/.github/workflows/build-debug-kernel.yml @@ -7,9 +7,9 @@ jobs: uses: ./.github/workflows/gki-kernel.yml with: version: android12-5.10 - version_name: android12-5.10.233 - tag: android12-5.10-2025-02 - os_patch_level: 2025-02 + version_name: android12-5.10.236 + tag: android12-5.10-2025-05 + os_patch_level: 2025-05 patch_path: "5.10" debug: true build-debug-kernel-a13: @@ -17,11 +17,11 @@ jobs: matrix: include: - version: "5.10" - sub_level: 234 - os_patch_level: 2025-03 + sub_level: 236 + os_patch_level: 2025-05 - version: "5.15" - sub_level: 178 - os_patch_level: 2025-03 + sub_level: 180 + os_patch_level: 2025-05 uses: ./.github/workflows/gki-kernel.yml with: version: android13-${{ matrix.version }} @@ -34,11 +34,11 @@ jobs: matrix: include: - version: "5.15" - sub_level: 178 - os_patch_level: 2025-03 + sub_level: 180 + os_patch_level: 2025-05 - version: "6.1" - sub_level: 129 - os_patch_level: 2025-04 + sub_level: 138 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml with: version: android14-${{ matrix.version }} @@ -51,8 +51,8 @@ jobs: matrix: include: - version: "6.6" - sub_level: 82 - os_patch_level: 2025-04 + sub_level: 89 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml with: version: android15-${{ matrix.version }} diff --git a/.github/workflows/build-kernel-a12.yml b/.github/workflows/build-kernel-a12.yml index eb276b79..316e6dc4 100644 --- a/.github/workflows/build-kernel-a12.yml +++ b/.github/workflows/build-kernel-a12.yml @@ -21,14 +21,14 @@ jobs: strategy: matrix: include: - - sub_level: 209 - os_patch_level: 2024-05 - sub_level: 218 os_patch_level: 2024-08 - sub_level: 226 os_patch_level: 2024-11 - sub_level: 233 os_patch_level: 2025-02 + - sub_level: 236 + os_patch_level: 2025-05 uses: ./.github/workflows/gki-kernel.yml secrets: inherit with: @@ -114,7 +114,7 @@ jobs: uses: ./.github/workflows/gki-kernel.yml with: version: android12-5.10 - version_name: android12-5.10.223 - tag: android12-5.10-2024-11 - os_patch_level: 2024-11 + version_name: android12-5.10.236 + tag: android12-5.10-2025-05 + os_patch_level: 2025-05 patch_path: "5.10" \ No newline at end of file diff --git a/.github/workflows/build-kernel-a13.yml b/.github/workflows/build-kernel-a13.yml index 9479de08..3dcb81a2 100644 --- a/.github/workflows/build-kernel-a13.yml +++ b/.github/workflows/build-kernel-a13.yml @@ -21,9 +21,6 @@ jobs: strategy: matrix: include: - - version: "5.10" - sub_level: 209 - os_patch_level: 2024-05 - version: "5.10" sub_level: 210 os_patch_level: 2024-06 @@ -42,9 +39,9 @@ jobs: - version: "5.10" sub_level: 234 os_patch_level: 2025-03 - - version: "5.15" - sub_level: 148 - os_patch_level: 2024-05 + - version: "5.10" + sub_level: 236 + os_patch_level: 2025-05 - version: "5.15" sub_level: 149 os_patch_level: 2024-07 @@ -63,6 +60,9 @@ jobs: - version: "5.15" sub_level: 178 os_patch_level: 2025-03 + - version: "5.15" + sub_level: 180 + os_patch_level: 2025-05 uses: ./.github/workflows/gki-kernel.yml secrets: inherit with: @@ -149,11 +149,11 @@ jobs: matrix: include: - version: "5.10" - sub_level: 234 - os_patch_level: 2025-03 + sub_level: 236 + os_patch_level: 2025-05 - version: "5.15" - sub_level: 178 - os_patch_level: 2025-03 + sub_level: 180 + os_patch_level: 2025-05 uses: ./.github/workflows/gki-kernel.yml with: version: android13-${{ matrix.version }} diff --git a/.github/workflows/build-kernel-a14.yml b/.github/workflows/build-kernel-a14.yml index ede40358..0f4b85e9 100644 --- a/.github/workflows/build-kernel-a14.yml +++ b/.github/workflows/build-kernel-a14.yml @@ -21,9 +21,6 @@ jobs: strategy: matrix: include: - - version: "5.15" - sub_level: 148 - os_patch_level: 2024-05 - version: "5.15" sub_level: 149 os_patch_level: 2024-06 @@ -45,9 +42,9 @@ jobs: - version: "5.15" sub_level: 178 os_patch_level: 2025-03 - - version: "6.1" - sub_level: 75 - os_patch_level: 2024-05 + - version: "5.15" + sub_level: 180 + os_patch_level: 2025-05 - version: "6.1" sub_level: 78 os_patch_level: 2024-06 @@ -81,6 +78,12 @@ jobs: - version: "6.1" sub_level: 129 os_patch_level: 2025-04 + - version: "6.1" + sub_level: 134 + os_patch_level: 2025-05 + - version: "6.1" + sub_level: 138 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml secrets: inherit with: @@ -167,11 +170,11 @@ jobs: matrix: include: - version: "5.15" - sub_level: 178 - os_patch_level: 2025-03 + sub_level: 180 + os_patch_level: 2025-05 - version: "6.1" - sub_level: 129 - os_patch_level: 2025-04 + sub_level: 138 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml with: version: android14-${{ matrix.version }} diff --git a/.github/workflows/build-kernel-a15.yml b/.github/workflows/build-kernel-a15.yml index b8019ac9..91b4174c 100644 --- a/.github/workflows/build-kernel-a15.yml +++ b/.github/workflows/build-kernel-a15.yml @@ -48,6 +48,12 @@ jobs: - version: "6.6" sub_level: 82 os_patch_level: 2025-04 + - version: "6.6" + sub_level: 87 + os_patch_level: 2025-05 + - version: "6.6" + sub_level: 89 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml secrets: inherit with: @@ -134,8 +140,8 @@ jobs: matrix: include: - version: "6.6" - sub_level: 82 - os_patch_level: 2025-04 + sub_level: 89 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml with: version: android15-${{ matrix.version }} diff --git a/.github/workflows/build-kernel-arcvm.yml b/.github/workflows/build-kernel-arcvm.yml new file mode 100644 index 00000000..54240370 --- /dev/null +++ b/.github/workflows/build-kernel-arcvm.yml @@ -0,0 +1,137 @@ +name: Build Kernel - ChromeOS ARCVM +on: + push: + branches: ["next"] + paths: + - ".github/workflows/build-kernel-arcvm.yml" + - "kernel/**" + pull_request: + branches: ["next"] + paths: + - ".github/workflows/build-kernel-arcvm.yml" + - "kernel/**" + workflow_call: + workflow_dispatch: + +env: + git_tag: chromeos-5.10-arcvm + +jobs: + build: + if: github.event_name != 'pull_request' || (github.event_name == 'pull_request' && !github.event.pull_request.draft) + strategy: + matrix: + include: + - arch: x86_64 + kernel_image_name: bzImage + build_config: build.config.gki.x86_64 + defconfig: x86_64_arcvm_defconfig + - arch: arm64 + kernel_image_name: Image + build_config: build.config.gki.aarch64 + defconfig: arm64_arcvm_defconfig + + name: Build ChromeOS ARCVM kernel + runs-on: ubuntu-22.04 + env: + LTO: thin + ROOT_DIR: / + KERNEL_DIR: ${{ github.workspace }}/kernel + + steps: + - name: Install Build Tools + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends bc \ + bison build-essential ca-certificates flex git gnupg \ + libelf-dev libssl-dev lsb-release software-properties-common wget \ + libncurses-dev binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu nuget gzip \ + rsync python3 device-tree-compiler + + sudo ln -s --force python3 /usr/bin/python + + export LLVM_VERSION=14 + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh $LLVM_VERSION + rm ./llvm.sh + sudo ln -s --force /usr/bin/clang-$LLVM_VERSION /usr/bin/clang + sudo ln -s --force /usr/bin/ld.lld-$LLVM_VERSION /usr/bin/ld.lld + sudo ln -s --force /usr/bin/llvm-objdump-$LLVM_VERSION /usr/bin/llvm-objdump + sudo ln -s --force /usr/bin/llvm-ar-$LLVM_VERSION /usr/bin/llvm-ar + sudo ln -s --force /usr/bin/llvm-nm-$LLVM_VERSION /usr/bin/llvm-nm + sudo ln -s --force /usr/bin/llvm-strip-$LLVM_VERSION /usr/bin/llvm-strip + sudo ln -s --force /usr/bin/llvm-objcopy-$LLVM_VERSION /usr/bin/llvm-objcopy + sudo ln -s --force /usr/bin/llvm-readelf-$LLVM_VERSION /usr/bin/llvm-readelf + sudo ln -s --force /usr/bin/clang++-$LLVM_VERSION /usr/bin/clang++ + + - name: Checkout KernelSU-Next + uses: actions/checkout@v4 + with: + path: KernelSU-Next + fetch-depth: 0 + + - name: Setup kernel source + run: git clone https://chromium.googlesource.com/chromiumos/third_party/kernel.git -b ${{ env.git_tag }} --depth=1 + + - name: Extract version from Makefile + working-directory: kernel + run: | + VERSION=$(grep -E '^VERSION = ' Makefile | awk '{print $3}') + PATCHLEVEL=$(grep -E '^PATCHLEVEL = ' Makefile | awk '{print $3}') + SUBLEVEL=$(grep -E '^SUBLEVEL = ' Makefile | awk '{print $3}') + echo "ChromeOS ARCVM Linux kernel version: $VERSION.$PATCHLEVEL.$SUBLEVEL" + echo "version=$VERSION.$PATCHLEVEL.$SUBLEVEL" >> $GITHUB_ENV + + - name: Setup KernelSU-Next + working-directory: kernel + run: | + echo "[+] KernelSU-Next setup" + KERNEL_ROOT=$GITHUB_WORKSPACE/kernel + echo "[+] KERNEL_ROOT: $KERNEL_ROOT" + echo "[+] Copy KernelSU-Next driver to $KERNEL_ROOT/drivers" + ln -sf $GITHUB_WORKSPACE/KernelSU-Next/kernel $KERNEL_ROOT/drivers/kernelsu-next + + echo "[+] Add KernelSU-Next driver to Makefile" + DRIVER_MAKEFILE=$KERNEL_ROOT/drivers/Makefile + DRIVER_KCONFIG=$KERNEL_ROOT/drivers/Kconfig + grep -q "kernelsu-next" "$DRIVER_MAKEFILE" || printf "\nobj-\$(CONFIG_KSU) += kernelsu-next/\n" >> "$DRIVER_MAKEFILE" + grep -q "kernelsu-next" "$DRIVER_KCONFIG" || sed -i "/endmenu/i\\source \"drivers/kernelsu-next/Kconfig\"" "$DRIVER_KCONFIG" + + echo "[+] Apply KernelSU patches" + cd $KERNEL_ROOT && git apply $GITHUB_WORKSPACE/KernelSU-Next/.github/patches/5.10/*.patch || echo "[-] No patch found" + + echo "[+] Patch script/setlocalversion" + sed -i 's/-dirty//g' $KERNEL_ROOT/scripts/setlocalversion + + echo "[+] KernelSU-Next setup done." + cd $GITHUB_WORKSPACE/KernelSU-Next + KSU_VERSION=$(($(git rev-list --count HEAD) + 10200)) + echo "KernelSU-Next version: $KSU_VERSION" + echo "kernelsu-next_version=$KSU_VERSION" >> $GITHUB_ENV + + - name: Build Kernel + working-directory: kernel + env: + KERNEL_IMAGE_NAME: ${{ matrix.kernel_image_name }} + ARCH: ${{ matrix.arch }} + run: | + set -a && . ${{ matrix.build_config }}; set +a + export DEFCONFIG=${{ matrix.defconfig }} + if [ ! -z ${{ vars.EXPECTED_SIZE }} ] && [ ! -z ${{ vars.EXPECTED_HASH }} ]; then + export KSU_EXPECTED_SIZE=${{ vars.EXPECTED_SIZE }} + export KSU_EXPECTED_HASH=${{ vars.EXPECTED_HASH }} + fi + + make LLVM=1 LLVM_IAS=1 DEPMOD=depmod DTC=dtc O=${PWD} mrproper + make LLVM=1 LLVM_IAS=1 DEPMOD=depmod DTC=dtc O=${PWD} ${DEFCONFIG} < /dev/null + scripts/config --file .config -e LTO_CLANG -d LTO_NONE -e LTO_CLANG_THIN -d LTO_CLANG_FULL -e THINLTO + make LLVM=1 LLVM_IAS=1 DEPMOD=depmod DTC=dtc O=${PWD} -j$(nproc) ${KERNEL_IMAGE_NAME} modules prepare-objtool + ls -l -h ${PWD}/arch/${ARCH}/boot + echo "file_path=${PWD}/arch/${ARCH}/boot/${KERNEL_IMAGE_NAME}" >> $GITHUB_ENV + + - name: Upload kernel-ARCVM-${{ matrix.arch }}-${{ env.version }} + uses: actions/upload-artifact@v4 + with: + name: kernel-ARCVM-${{ matrix.arch }}-${{ env.version }} + path: "${{ env.file_path }}" \ No newline at end of file diff --git a/.github/workflows/build-kernel-avd.yml b/.github/workflows/build-kernel-avd.yml new file mode 100644 index 00000000..e85a4127 --- /dev/null +++ b/.github/workflows/build-kernel-avd.yml @@ -0,0 +1,39 @@ +name: Build Kernel - AVD +on: + push: + branches: ["next"] + paths: + - ".github/workflows/build-kernel-avd.yml" + - ".github/workflows/avd-kernel.yml" + - "kernel/**" + pull_request: + branches: ["next"] + paths: + - ".github/workflows/build-kernel-avd.yml" + - ".github/workflows/avd-kernel.yml" + - "kernel/**" + workflow_call: + workflow_dispatch: + +jobs: + build-kernel: + if: github.event_name != 'pull_request' && github.ref != 'refs/heads/checkci' + uses: ./.github/workflows/avd-kernel.yml + secrets: inherit + strategy: + matrix: + include: + - version: "android-14-avd_x86_64" + manifest: "android-14-avd_x86_64.xml" + arch: "x86_64" + - version: "android-15-avd_aarch64" + manifest: "android-15-avd_aarch64.xml" + arch: "aarch64" + - version: "android-15-avd_x86_64" + manifest: "android-15-avd_x86_64.xml" + arch: "x86_64" + with: + version_name: ${{ matrix.version }} + manifest_name: ${{ matrix.manifest }} + arch: ${{ matrix.arch }} + debug: true \ No newline at end of file diff --git a/.github/workflows/build-lkm.yml b/.github/workflows/build-lkm.yml index bcc76f27..dc3482ac 100644 --- a/.github/workflows/build-lkm.yml +++ b/.github/workflows/build-lkm.yml @@ -15,23 +15,23 @@ jobs: matrix: include: - version: "android12-5.10" - sub_level: 233 - os_patch_level: 2025-02 + sub_level: 236 + os_patch_level: 2025-05 - version: "android13-5.10" - sub_level: 234 - os_patch_level: 2025-03 + sub_level: 236 + os_patch_level: 2025-05 - version: "android13-5.15" - sub_level: 178 - os_patch_level: 2025-03 + sub_level: 180 + os_patch_level: 2025-05 - version: "android14-5.15" - sub_level: 178 - os_patch_level: 2025-03 + sub_level: 180 + os_patch_level: 2025-05 - version: "android14-6.1" - sub_level: 129 - os_patch_level: 2025-04 + sub_level: 138 + os_patch_level: 2025-06 - version: "android15-6.6" - sub_level: 82 - os_patch_level: 2025-04 + sub_level: 89 + os_patch_level: 2025-06 uses: ./.github/workflows/gki-kernel.yml with: version: ${{ matrix.version }} diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml index 1edcfbdf..234d4886 100644 --- a/.github/workflows/clippy.yml +++ b/.github/workflows/clippy.yml @@ -3,14 +3,14 @@ name: Clippy check on: push: branches: - - x86 + - next paths: - '.github/workflows/clippy.yml' - 'userspace/ksud_magic/**' - 'userspace/ksud_overlayfs/**' pull_request: branches: - - x86 + - next paths: - '.github/workflows/clippy.yml' - 'userspace/ksud_magic/**' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4833ba62..6a07085c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,6 +21,12 @@ jobs: build-a15-kernel: uses: ./.github/workflows/build-kernel-a15.yml secrets: inherit + build-wsa-kernel: + uses: ./.github/workflows/build-kernel-wsa.yml + secrets: inherit + build-arcvm-kernel: + uses: ./.github/workflows/build-kernel-arcvm.yml + secrets: inherit release: needs: - build-manager @@ -29,6 +35,7 @@ jobs: - build-a14-kernel - build-a15-kernel - build-wsa-kernel + - build-arcvm-kernel runs-on: ubuntu-latest steps: - name: Download artifacts @@ -42,6 +49,24 @@ jobs: fi done + - name: Zip WSA kernel + run: | + for dir in kernel-WSA-*; do + if [ -d "$dir" ]; then + echo "------ Zip $dir ----------" + (cd $dir && zip -r9 "$dir".zip ./* -x .git .gitignore ./*.zip && mv *.zip ..) + fi + done + + - name: Zip ChromeOS ARCVM kernel + run: | + for dir in kernel-ARCVM-*; do + if [ -d "$dir" ]; then + echo "------ Zip $dir ----------" + (cd $dir && zip -r9 "$dir".zip ./* -x .git .gitignore ./*.zip && mv *.zip ..) + fi + done + - name: Display structure of downloaded files run: ls -R @@ -54,6 +79,7 @@ jobs: AnyKernel3-*.zip boot-images-*/Image-*/*.img.gz kernel-WSA*.zip + kernel-ARCVM*.zip ksud_magic*.zip ksud_overlayfs*.zip - susfsd*.zip + susfsd*.zip \ No newline at end of file diff --git a/.github/workflows/wsa-kernel.yml b/.github/workflows/wsa-kernel.yml index 1f87e497..b4bd4407 100644 --- a/.github/workflows/wsa-kernel.yml +++ b/.github/workflows/wsa-kernel.yml @@ -43,10 +43,10 @@ jobs: ubuntu-version: "16.04" cached: ${{ steps.cache-llvm.outputs.cache-hit }} - - name: Checkout KernelSU + - name: Checkout KernelSU-Next uses: actions/checkout@v4 with: - path: KernelSU + path: KernelSU-Next fetch-depth: 0 - name: Setup kernel source @@ -63,23 +63,23 @@ jobs: save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} max-size: 2G - - name: Setup KernelSU + - name: Setup KernelSU-Next working-directory: WSA-Linux-Kernel run: | - echo "[+] KernelSU setup" + echo "[+] KernelSU-Next setup" KERNEL_ROOT=$GITHUB_WORKSPACE/WSA-Linux-Kernel echo "[+] KERNEL_ROOT: $KERNEL_ROOT" - echo "[+] Copy KernelSU driver to $KERNEL_ROOT/drivers" - ln -sf $GITHUB_WORKSPACE/KernelSU/kernel $KERNEL_ROOT/drivers/kernelsu - echo "[+] Add KernelSU driver to Makefile" + echo "[+] Copy KernelSU-Next driver to $KERNEL_ROOT/drivers" + ln -sf $GITHUB_WORKSPACE/KernelSU-Next/kernel $KERNEL_ROOT/drivers/kernelsu + echo "[+] Add KernelSU-Next driver to Makefile" DRIVER_MAKEFILE=$KERNEL_ROOT/drivers/Makefile DRIVER_KCONFIG=$KERNEL_ROOT/drivers/Kconfig grep -q "kernelsu" "$DRIVER_MAKEFILE" || printf "\nobj-\$(CONFIG_KSU) += kernelsu/\n" >> "$DRIVER_MAKEFILE" grep -q "kernelsu" "$DRIVER_KCONFIG" || sed -i "/endmenu/i\\source \"drivers/kernelsu/Kconfig\"" "$DRIVER_KCONFIG" - echo "[+] Apply KernelSU patches" - cd $KERNEL_ROOT && git apply $GITHUB_WORKSPACE/KernelSU/.github/patches/5.15/*.patch || echo "[-] No patch found" - echo "[+] KernelSU setup done." - cd $GITHUB_WORKSPACE/KernelSU + echo "[+] Apply KernelSU-Next patches" + cd $KERNEL_ROOT && git apply $GITHUB_WORKSPACE/KernelSU-Next/.github/patches/5.15/*.patch || echo "[-] No patch found" + echo "[+] KernelSU-Next setup done." + cd $GITHUB_WORKSPACE/KernelSU-Next VERSION=$(($(git rev-list --count HEAD) + 10200)) echo "VERSION: $VERSION" echo "kernelsu_version=$VERSION" >> $GITHUB_ENV @@ -103,4 +103,4 @@ jobs: uses: actions/upload-artifact@v4 with: name: kernel-WSA-${{ inputs.arch }}-${{ inputs.version }} - path: "${{ env.file_path }}" \ No newline at end of file + path: "${{ env.file_path }}"