scripts: utils: fix vars #273
This file contains hidden or 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: Release | |
| on: | |
| push: | |
| paths: | |
| - '.github/workflows/release.yml' | |
| - 'module/**' | |
| - 'update.json' | |
| - 'overlay/**' | |
| - 'tools/**' | |
| 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@v6.0.2 | |
| with: | |
| fetch-depth: 2 | |
| - name: Set variables | |
| id: setup | |
| run: | | |
| MODULE_NAME="HyperUnlocked" | |
| MODULE_DESC="A Magisk/KernelSU/APatch module to unlock high-end features on all 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: Build Overlays | |
| run: | | |
| cd ./overlay | |
| export LD_LIBRARY_PATH=../tools:$LD_LIBRARY_PATH | |
| export PATH=../tools:$PATH | |
| for folder in ./*; do | |
| [ -d "$folder" ] || continue | |
| FOLDER_NAME=$(basename "$folder") | |
| aapt package -f -F "HyperUnlocked-${FOLDER_NAME}-unalign.apk" -M "${folder}/AndroidManifest.xml" -S "${folder}/res" -I ../tools/android.jar | |
| zipalign -f -p -v 4 "HyperUnlocked-${FOLDER_NAME}-unalign.apk" "HyperUnlocked-${FOLDER_NAME}-unsigned.apk" | |
| java -jar ../tools/signapk.jar ../tools/keys/platform.x509.pem ../tools/keys/platform.pk8 "HyperUnlocked-${FOLDER_NAME}-unsigned.apk" "HyperUnlocked-${FOLDER_NAME}.apk" | |
| done | |
| rm -f HyperUnlocked-*-unalign.apk HyperUnlocked-*-unsigned.apk | |
| mkdir -p ${{ env.MODULE_PATH }}/system/product/overlay | |
| mv HyperUnlocked-*.apk ${{ env.MODULE_PATH }}/system/product/overlay | |
| cd .. | |
| - 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 | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v7.0.1 | |
| with: | |
| name: ${{ env.ZIP_NAME }} | |
| path: debug_module/** | |
| compression-level: 9 | |
| - name: Compressing files | |
| if: ${{ env.version_changed == 'true' || inputs.force_release }} | |
| run: | | |
| echo "Compressing files..." | |
| cd ${{ env.MODULE_PATH }} | |
| zip -r -9 ${{ 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 }}" |