Skip to content

xml: refactor to have one prop in one line #152

xml: refactor to have one prop in one line

xml: refactor to have one prop in one line #152

Workflow file for this run

name: Release
on:
push:
branches:
- main
paths:
- '.github/workflows/release.yml'
- 'module/**'
- 'update.json'
workflow_dispatch:
inputs:
force_release:
description: 'Force change release file?'
required: true
type: boolean
default: false
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Set variables
id: setup
run: |
MODULE_NAME="HyperUnlocked"
MODULE_DESC="A Magisk/KernelSU/APatch module made to unlock all high-end features possible to be unlocked on low-end xiaomi devices."
CHANGELOG_FILE="$(pwd)/CHANGELOG.md"
MODULE_PATH=$(pwd)/module/
CURRENT_VERSION_CODE="$(jq -r .versionCode update.json)" >> $GITHUB_ENV
echo "CURRENT_VERSION_CODE=$(jq -r .versionCode update.json)" >> $GITHUB_ENV
PREVIOUS_VERSION_CODE="$(jq -r .versionCode <(git show HEAD~1:update.json))"
COMMIT_ID="$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "COMMIT_ID=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "VERSION=$(jq -r .version update.json)" >> $GITHUB_ENV
echo "MODULE_PATH=${MODULE_PATH}" >> $GITHUB_ENV
CHANGELOG_RAW=$(git diff HEAD^ HEAD -- ${CHANGELOG_FILE} | grep '^+[^+]' | sed 's/^+//')
{
echo "CHANGELOG<<EOF"
echo -e "## ${MODULE_NAME}\n${MODULE_DESC}\n\n---\n\n# Changelog:\n${CHANGELOG_RAW}"
echo "EOF"
} >> $GITHUB_ENV
if [ "$CURRENT_VERSION_CODE" -gt "$PREVIOUS_VERSION_CODE" ]; then
echo "version_changed=true" >> $GITHUB_ENV
echo "ZIP_NAME=$MODULE_NAME" >> $GITHUB_ENV
elif [ "${{ inputs.force_release }}" == "true" ]; then
echo "ZIP_NAME=$MODULE_NAME" >> $GITHUB_ENV
else
echo "version_changed=false" >> $GITHUB_ENV
echo "ZIP_NAME=${MODULE_NAME}_${CURRENT_VERSION_CODE}-${COMMIT_ID}" >> $GITHUB_ENV
fi
cp ./LICENSE ${MODULE_PATH}
cp ./LICENSE_NOTICE.txt ${MODULE_PATH}
- name: Setting up test release
run: |
cp -r ${{ env.MODULE_PATH }} ./debug_module/
sed -i "s/^\(version=\)\(.*\)/\1\2_${{ env.CURRENT_VERSION_CODE }}-${{ env.COMMIT_ID }}/" ./debug_module/module.prop
echo "Compressing files..."
cd ./debug_module
zip -r ${{ env.ZIP_NAME }}.zip *
echo "Created zip file: ${{ env.ZIP_NAME }}.zip"
mv *.zip ../
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.ZIP_NAME }}
path: debug_module/**
- name: Compressing files
if: ${{ env.version_changed == 'true' || inputs.force_release }}
run: |
echo "Compressing files..."
cd ${{ env.MODULE_PATH }}
zip -r ${{ env.ZIP_NAME }}.zip *
echo "Created zip file: ${{ env.ZIP_NAME }}.zip"
mv *.zip ../
- name: Create release
if: ${{ env.version_changed == 'true' }}
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: "${{ env.ZIP_NAME }}.zip"
tag_name: "${{ env.VERSION }}"
name: "Release ${{ env.VERSION }}"
body: "${{ env.CHANGELOG }}"
draft: false
prerelease: false
- name: Force update release file
if: ${{ inputs.force_release }}
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: "${{ env.ZIP_NAME }}.zip"
tag_name: "${{ env.VERSION }}"
name: "Release ${{ env.VERSION }}"