xml: refactor to have one prop in one line #152
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: | |
| 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 }}" |