Bump version to 1.4.3 #9
Workflow file for this run
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: Create Release | |
| on: | |
| release: | |
| types: [created] | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-and-release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Prepare release packages | |
| run: | | |
| # Extract version from tag (e.g., v1.3.6 -> 1.3.6) | |
| VERSION=${GITHUB_REF#refs/tags/v} | |
| # Create temporary directories for both releases | |
| mkdir -p release-regular | |
| mkdir -p release-horizon | |
| # Copy all XIUI files to both release directories | |
| cp -r XIUI release-regular/ | |
| cp -r XIUI release-horizon/ | |
| # Set HzLimitedMode = false for regular release | |
| sed -i 's/^HzLimitedMode = true;$/HzLimitedMode = false;/' release-regular/XIUI/XIUI.lua | |
| # Set HzLimitedMode = true for horizon release (should already be true, but ensure it) | |
| sed -i 's/^HzLimitedMode = false;$/HzLimitedMode = true;/' release-horizon/XIUI/XIUI.lua | |
| # Verify the changes | |
| echo "Regular release HzLimitedMode:" | |
| grep "^HzLimitedMode" release-regular/XIUI/XIUI.lua | |
| echo "Horizon release HzLimitedMode:" | |
| grep "^HzLimitedMode" release-horizon/XIUI/XIUI.lua | |
| # Create zip files with version-specific names | |
| cd release-regular | |
| zip -r ../XIUI-${VERSION}.zip XIUI | |
| cd ../release-horizon | |
| zip -r ../XIUI-${VERSION}-horizon.zip XIUI | |
| cd .. | |
| # Store the version for later steps | |
| echo "VERSION=${VERSION}" >> $GITHUB_ENV | |
| - name: Get release info | |
| id: get_release | |
| if: github.event_name == 'release' | |
| run: | | |
| echo "upload_url=${{ github.event.release.upload_url }}" >> $GITHUB_OUTPUT | |
| echo "release_name=${{ github.event.release.name }}" >> $GITHUB_OUTPUT | |
| - name: Upload regular release asset | |
| if: github.event_name == 'release' | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.get_release.outputs.upload_url }} | |
| asset_path: ./XIUI-${{ env.VERSION }}.zip | |
| asset_name: XIUI-${{ env.VERSION }}.zip | |
| asset_content_type: application/zip | |
| - name: Upload horizon release asset | |
| if: github.event_name == 'release' | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ steps.get_release.outputs.upload_url }} | |
| asset_path: ./XIUI-${{ env.VERSION }}-horizon.zip | |
| asset_name: XIUI-${{ env.VERSION }}-horizon.zip | |
| asset_content_type: application/zip | |
| - name: Create release from tag | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: | | |
| XIUI-${{ env.VERSION }}.zip | |
| XIUI-${{ env.VERSION }}-horizon.zip | |
| name: XIUI-${{ env.VERSION }} | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Remove automatic source code archives | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
| run: | | |
| # Get the release ID | |
| RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
| "https://api.github.com/repos/${{ github.repository }}/releases/tags/${{ github.ref_name }}" | \ | |
| jq -r '.id') | |
| # Get all assets for this release | |
| ASSETS=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
| "https://api.github.com/repos/${{ github.repository }}/releases/${RELEASE_ID}/assets") | |
| # Delete source code archives (zip and tar.gz) | |
| # GitHub automatically creates these as "Source code (zip)" and "Source code (tar.gz)" | |
| echo "$ASSETS" | jq -r '.[] | select(.name | test("^Source code \\((zip|tar\\.gz)\\)$")) | .id' | while read ASSET_ID; do | |
| echo "Deleting source code archive with asset ID: $ASSET_ID" | |
| curl -X DELETE -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
| "https://api.github.com/repos/${{ github.repository }}/releases/assets/${ASSET_ID}" | |
| done |