pmt: initial 2.5.0 update
This commit is contained in:
24
.github/build.config
vendored
24
.github/build.config
vendored
@@ -1,24 +0,0 @@
|
||||
#
|
||||
# Build config for pmt workflows
|
||||
#
|
||||
# 2.4.0 config
|
||||
#
|
||||
|
||||
# Version
|
||||
export BUILD_VERSION="2.4.0"
|
||||
|
||||
# Relese tag
|
||||
export BUILD_RELTAG="240"
|
||||
|
||||
# Target architures
|
||||
export BUILD_ARCH="arm64-v8a, armeabi-v7a"
|
||||
|
||||
# NDK environ for getting clang version
|
||||
export NDK="/home/workdir/android-ndk"
|
||||
export TC="${NDK}/toolchains/llvm/prebuilt/linux-x86_64"
|
||||
export TARGET_TEMPLATE="aarch64-linux-android"
|
||||
export API_TEMPLATE="21"
|
||||
export NDK_CLANG="${TC}/bin/${TARGET_TEMPLATE}${API}-clang"
|
||||
|
||||
# get version
|
||||
export CLANG_VERSION=$(${NDK_CLANG} --version | head -n 1)
|
||||
136
.github/workflows/build.yml
vendored
Normal file
136
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,136 @@
|
||||
name: Build and release
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Detect starting type
|
||||
id: check-start-type
|
||||
run: |
|
||||
COMM_MSG=$(git log -1 --pretty=%B)
|
||||
if [ "${GITHUB_EVENT_NAME}" == "push" ]; then
|
||||
if [[ "${COMM_MSG}" == *"initial"* ]]; then
|
||||
echo "build_and_release=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "build_and_release=false" >> $GITHUB_ENV
|
||||
fi
|
||||
elif [ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]; then
|
||||
echo "build_and_release=true" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Cleanup
|
||||
id: cleanup
|
||||
if: env.build_and_release == 'true'
|
||||
uses: rokibhasansagar/slimhub_actions@main
|
||||
|
||||
- name: Setup GitHub CLI
|
||||
id: setup-gh
|
||||
if: env.build_and_release == 'true'
|
||||
run: |
|
||||
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
|
||||
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
|
||||
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
|
||||
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
|
||||
&& sudo apt update \
|
||||
&& sudo apt install gh -y
|
||||
|
||||
- name: Update and setup packages
|
||||
id: setup-packages
|
||||
if: env.build_and_release == 'true'
|
||||
run: |
|
||||
sudo apt update \
|
||||
&& sudo apt upgrade -y \
|
||||
&& sudo apt install make xz-utils aria2 gawk -y
|
||||
|
||||
- name: Save spefic version variables
|
||||
id: save-vars
|
||||
if: env.build_and_release == 'true'
|
||||
run: |
|
||||
. build/workflow/build.config
|
||||
echo "PMT_VERSION=${PMT_VERSION}" >> $GITHUB_ENV
|
||||
echo "PMT_VERSION_CODE=${PMT_VERSION_CODE}" >> $GITHUB_ENV
|
||||
echo "NDK_VERSION=${NDK_VERSION}" >> $GITHUB_ENV
|
||||
echo "NDK_LINK=${NDK_LINK}" >> $GITHUB_ENV
|
||||
echo "NDK_IS=${NDK_IS}" >> $GITHUB_ENV
|
||||
cd /home
|
||||
sudo git clone https://github.com/ShawkTeam/pmt -b ${PMT_VERSION}
|
||||
sudo chmod 777 pmt
|
||||
echo "PMT_SRCDIR=/home/pmt" >> $GITHUB_ENV
|
||||
echo "NDK_DIR=/home/ndk/android-ndk" >> $GITHUB_ENV
|
||||
echo "NDK_IN_DIR=/home/ndk" >> $GITHUB_ENV
|
||||
sudo mkdir -p "/home/ndk" && cd "/home/ndk" && sudo chmod 777 "/home/ndk"
|
||||
|
||||
- name: Download and extract NDK
|
||||
id: setup-ndk
|
||||
if: env.build_and_release == 'true'
|
||||
run: |
|
||||
echo "Downloading NDK ${{ env.NDK_VERSION }}..."
|
||||
aria2c "${{ env.NDK_LINK }}"
|
||||
echo "Extracting..."
|
||||
unzip -q *.zip && rm *.zip
|
||||
mv * "${{ env.NDK_IS }}"
|
||||
sudo chmod -R 777 *
|
||||
working-directory: ${{ env.NDK_IN_DIR }}
|
||||
|
||||
- name: Build pmt
|
||||
id: build-pmt
|
||||
if: env.build_and_release == 'true'
|
||||
run: |
|
||||
make gen-ndk-makefiles
|
||||
export NDK_PROJECT_PATH=${PWD}
|
||||
export NDK_ROOT_DIR=${{ env.NDK_DIR }}
|
||||
echo "NDK_ROOT_DIR=${NDK_ROOT_DIR}" >> $GITHUB_ENV
|
||||
bash build/bash/gen-header
|
||||
cd ${{ env.NDK_DIR }}
|
||||
./ndk-build
|
||||
working-directory: ${{ env.PMT_SRCDIR }}
|
||||
|
||||
- name: Last small transactions
|
||||
id: small-transactions
|
||||
if: env.build_and_release == 'true'
|
||||
run: |
|
||||
export CC_64="${PWD}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang"
|
||||
export CC_32="${PWD}/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang"
|
||||
export AR="${PWD}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
|
||||
export CC_VERSION=$(${CC_64} --version | head -n 1)
|
||||
echo "CC_VERSION=${CC_VERSION}" >> $GITHUB_ENV
|
||||
. ${{ env.PMT_SRCDIR }}/build/workflow/build.config
|
||||
. ${{ env.PMT_SRCDIR }}/build/workflow/relnotes > /home/pmt/release_body.txt
|
||||
cd ${{ env.PMT_SRCDIR }}
|
||||
zip -rq pmt-objs-local.zip obj/local/arm64-v8a obj/local/armeabi-v7a
|
||||
xz libs/arm64-v8a/pmt
|
||||
mv libs/arm64-v8a/pmt.xz ${PWD}/pmt-arm64-v8a.xz
|
||||
xz libs/armeabi-v7a/pmt
|
||||
mv libs/armeabi-v7a/pmt.xz ${PWD}/pmt-armeabi-v7a.xz
|
||||
make CC="${CC_64}" AR="${AR}"
|
||||
make deb FOR_THIS=64
|
||||
mv out/debpackage/*.deb .
|
||||
make clean
|
||||
make CC="${CC_32}" AR="${AR}"
|
||||
make deb FOR_THIS=32
|
||||
mv out/debpackage/*.deb .
|
||||
make clean
|
||||
working-directory: ${{ env.NDK_DIR }}
|
||||
|
||||
- name: Upload to release
|
||||
id: upload-to-rels
|
||||
if: env.build_and_release == 'true'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: |
|
||||
/home/pmt/pmt*.xz
|
||||
/home/pmt/pmt*.deb
|
||||
/home/pmt/pmt-objs-local.zip
|
||||
name: Partition Manager ${{ env.PMT_VERSION }} Release
|
||||
tag_name: ${{ env.PMT_VERSION }}
|
||||
body_path: /home/pmt/release_body.txt
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
Reference in New Issue
Block a user