Skip to content

gplv2

gplv2 #51

Workflow file for this run

name: Build CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
Build-kpimg:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Check out
uses: actions/checkout@v3
with:
submodules: "recursive"
fetch-depth: 0
- name: Generate version
id: parse_version
run: |
MAJOR=$(grep '#define MAJOR' kernel/version | awk '{print $3}')
MINOR=$(grep '#define MINOR' kernel/version | awk '{print $3}')
PATCH=$(grep '#define PATCH' kernel/version | awk '{print $3}')
VERSION="$MAJOR.$MINOR.$PATCH"
echo "Generated Version: $VERSION"
# echo $VERSION > version.txt
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Install Compiler
run: |
curl -o arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf.tar.xz https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf.tar.xz
tar -Jxf arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf.tar.xz
- name: Build kpimg
run: |
export TARGET_COMPILE=`pwd`/arm-gnu-toolchain-12.2.rel1-x86_64-aarch64-none-elf/bin/aarch64-none-elf-
cd kernel
make
mv kpimg kpimg-${{ steps.parse_version.outputs.VERSION }}
make clean
export ANDROID=1
make
unset ANDROID
mv kpimg kpimg-android-${{ steps.parse_version.outputs.VERSION }}
- name: Release
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.parse_version.outputs.VERSION }}
artifacts: |
version.txt
kernel/kpimg-${{ steps.parse_version.outputs.VERSION }}
kernel/kpimg-android-${{ steps.parse_version.outputs.VERSION }}
allowUpdates: true
replacesArtifacts: true
Build-android:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Check out
uses: actions/checkout@v3
with:
submodules: "recursive"
fetch-depth: 0
- name: Generate version
id: parse_version
run: |
MAJOR=$(grep '#define MAJOR' kernel/version | awk '{print $3}')
MINOR=$(grep '#define MINOR' kernel/version | awk '{print $3}')
PATCH=$(grep '#define PATCH' kernel/version | awk '{print $3}')
VERSION="$MAJOR.$MINOR.$PATCH"
echo "Generated Version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
TOOLS_MAJOR=$(grep '#define MAJOR' tools/version | awk '{print $3}')
TOOLS_MINOR=$(grep '#define MINOR' tools/version | awk '{print $3}')
TOOLS_PATCH=$(grep '#define PATCH' tools/version | awk '{print $3}')
TOOLS_VERSION="$TOOLS_MAJOR.$TOOLS_MINOR.$TOOLS_PATCH"
echo "Generated Tools Version: $TOOLS_VERSION"
echo "TOOLS_VERSION=$TOOLS_VERSION" >> $GITHUB_OUTPUT
- name: Setup Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r25b
add-to-path: true
- name: Build kpatch-android
run: |
cd user
export ANDROID=1
mkdir -p build/android && cd build/android
echo ${{ steps.setup-ndk.outputs.ndk-path }}
cmake \
-DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_PLATFORM=android-33 \
-DANDROID_ABI=arm64-v8a ../..
cmake --build .
unset ANDROID
mv kpatch kpatch-android-${{ steps.parse_version.outputs.VERSION }}
- name: Build kptools-android
run: |
cd tools
mkdir -p build/android && cd build/android
echo ${{ steps.setup-ndk.outputs.ndk-path }}
cmake \
-DCMAKE_TOOLCHAIN_FILE=${{ steps.setup-ndk.outputs.ndk-path }}/build/cmake/android.toolchain.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_PLATFORM=android-33 \
-DANDROID_ABI=arm64-v8a ../..
cmake --build .
mv kptools kptools-android-${{ steps.parse_version.outputs.TOOLS_VERSION }}
- name: Release
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.parse_version.outputs.VERSION }}
artifacts: |
user/build/android/kpatch-android-${{ steps.parse_version.outputs.VERSION }}
tools/build/android/kptools-android-${{ steps.parse_version.outputs.TOOLS_VERSION }}
allowUpdates: true
replacesArtifacts: true
Build-kptools-linux:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Check out
uses: actions/checkout@v3
- name: Generate version
id: parse_version
run: |
MAJOR=$(grep '#define MAJOR' kernel/version | awk '{print $3}')
MINOR=$(grep '#define MINOR' kernel/version | awk '{print $3}')
PATCH=$(grep '#define PATCH' kernel/version | awk '{print $3}')
VERSION="$MAJOR.$MINOR.$PATCH"
echo "Generated Version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
TOOLS_MAJOR=$(grep '#define MAJOR' tools/version | awk '{print $3}')
TOOLS_MINOR=$(grep '#define MINOR' tools/version | awk '{print $3}')
TOOLS_PATCH=$(grep '#define PATCH' tools/version | awk '{print $3}')
TOOLS_VERSION="$TOOLS_MAJOR.$TOOLS_MINOR.$TOOLS_PATCH"
echo "Generated Tools Version: $TOOLS_VERSION"
echo "TOOLS_VERSION=$TOOLS_VERSION" >> $GITHUB_OUTPUT
- name: Build kptools
run: |
cd tools
mkdir -p build && cd build
cmake ..
make
mv kptools kptools-linux-${{ steps.parse_version.outputs.TOOLS_VERSION }}
- name: Release
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.parse_version.outputs.VERSION }}
artifacts: |
tools/build/kptools-linux-${{ steps.parse_version.outputs.TOOLS_VERSION }}
allowUpdates: true
replacesArtifacts: true
Build-kptools-mac:
runs-on: macos-latest
permissions:
contents: write
steps:
- name: Check out
uses: actions/checkout@v3
- name: Generate version
id: parse_version
run: |
MAJOR=$(grep '#define MAJOR' kernel/version | awk '{print $3}')
MINOR=$(grep '#define MINOR' kernel/version | awk '{print $3}')
PATCH=$(grep '#define PATCH' kernel/version | awk '{print $3}')
VERSION="$MAJOR.$MINOR.$PATCH"
echo "Generated Version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
TOOLS_MAJOR=$(grep '#define MAJOR' tools/version | awk '{print $3}')
TOOLS_MINOR=$(grep '#define MINOR' tools/version | awk '{print $3}')
TOOLS_PATCH=$(grep '#define PATCH' tools/version | awk '{print $3}')
TOOLS_VERSION="$TOOLS_MAJOR.$TOOLS_MINOR.$TOOLS_PATCH"
echo "Generated Tools Version: $TOOLS_VERSION"
echo "TOOLS_VERSION=$TOOLS_VERSION" >> $GITHUB_OUTPUT
- name: Build kptools
run: |
cd tools
mkdir -p build && cd build
cmake ..
make
mv kptools kptools-mac-${{ steps.parse_version.outputs.TOOLS_VERSION }}
- name: Release
uses: ncipollo/[email protected]
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.parse_version.outputs.VERSION }}
artifacts: |
tools/build/kptools-mac-${{ steps.parse_version.outputs.TOOLS_VERSION }}
allowUpdates: true
replacesArtifacts: true