Skip to content

Bump version to 1.4.3 #9

Bump version to 1.4.3

Bump version to 1.4.3 #9

Workflow file for this run

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