diff --git a/.github/workflows/buildapptest.yml b/.github/workflows/buildapptest.yml new file mode 100644 index 0000000..19cc721 --- /dev/null +++ b/.github/workflows/buildapptest.yml @@ -0,0 +1,342 @@ +name: Build and Release uYouEnhanced + +on: + workflow_dispatch: + inputs: + sdk_version: + description: "iOS SDK Version" + default: "17.5" + required: true + type: string + uyou_version: + description: "uYou Version" + default: "3.0.4" + required: true + type: string + decrypted_youtube_url: + description: "Direct URL of the decrypted YouTube IPA" + default: "" + required: true + type: string + bundle_id: + description: "Modify the bundle ID" + default: "com.google.ios.youtube" + required: true + type: string + app_name: + description: "Modify the app name" + default: "YouTube" + required: true + type: string + commit_id: + description: "(Optional) Commit ID to build at" + default: "" + required: false + type: string + upload_artifact: + description: "Upload IPA as artifact" + default: false + required: false + type: boolean + create_release: + description: "Create a draft release" + default: true + required: false + type: boolean + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build uYouEnhanced + runs-on: macos-14 + permissions: + contents: write + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + + steps: + - name: Checkout Main + uses: actions/checkout@v5 + with: + path: main + ref: ${{ github.event.inputs.commit_id || github.ref }} + submodules: recursive + + - name: Install Dependencies + run: brew install ldid dpkg make + + - name: Set PATH environment variable + run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH + + - name: Setup Theos + uses: actions/checkout@v5 + with: + repository: theos/theos + ref: master + path: theos + submodules: recursive + + - name: SDK Caching + id: SDK + uses: actions/cache@v4 + env: + cache-name: iOS-${{ inputs.sdk_version }}-SDK + with: + path: theos/sdks/ + key: ${{ env.cache-name }} + restore-keys: ${{ env.cache-name }} + + - name: Download iOS SDK + if: steps.SDK.outputs.cache-hit != 'true' + run: | + git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/ + cd sdks + git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk + git checkout + mv *.sdk $THEOS/sdks + env: + THEOS: ${{ github.workspace }}/theos + + - name: Setup Theos Jailed + uses: actions/checkout@v5 + with: + repository: qnblackcat/theos-jailed + ref: master + path: theos-jailed + submodules: recursive + + - name: Install Theos Jailed + run: ./theos-jailed/install + env: + THEOS: ${{ github.workspace }}/theos + + - name: Hash YT ipa url + run: | + URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)" + echo ::add-mask::$URL_YT + echo URL_YT=$URL_YT >> $GITHUB_ENV + + name: Build and Release uYouEnhanced + +on: + workflow_dispatch: + inputs: + sdk_version: + description: "iOS SDK Version" + default: "17.5" + required: true + type: string + uyou_version: + description: "uYou Version" + default: "3.0.4" + required: true + type: string + decrypted_youtube_url: + description: "Direct URL of the decrypted YouTube IPA" + default: "" + required: true + type: string + bundle_id: + description: "Modify the bundle ID" + default: "com.google.ios.youtube" + required: true + type: string + app_name: + description: "Modify the app name" + default: "YouTube" + required: true + type: string + commit_id: + description: "(Optional) Commit ID to build at" + default: "" + required: false + type: string + upload_artifact: + description: "Upload IPA as artifact" + default: false + required: false + type: boolean + create_release: + description: "Create a draft release" + default: true + required: false + type: boolean + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build uYouEnhanced + runs-on: macos-14 + permissions: + contents: write + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + + steps: + - name: Checkout Main + uses: actions/checkout@v5 + with: + path: main + ref: ${{ github.event.inputs.commit_id || github.ref }} + submodules: recursive + + - name: Install Dependencies + run: brew install ldid dpkg make + + - name: Set PATH environment variable + run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH + + - name: Setup Theos + uses: actions/checkout@v5 + with: + repository: theos/theos + ref: master + path: theos + submodules: recursive + + - name: SDK Caching + id: SDK + uses: actions/cache@v4 + env: + cache-name: iOS-${{ inputs.sdk_version }}-SDK + with: + path: theos/sdks/ + key: ${{ env.cache-name }} + restore-keys: ${{ env.cache-name }} + + - name: Download iOS SDK + if: steps.SDK.outputs.cache-hit != 'true' + run: | + git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/ + cd sdks + git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk + git checkout + mv *.sdk $THEOS/sdks + env: + THEOS: ${{ github.workspace }}/theos + + - name: Setup Theos Jailed + uses: actions/checkout@v5 + with: + repository: qnblackcat/theos-jailed + ref: master + path: theos-jailed + submodules: recursive + + - name: Install Theos Jailed + run: ./theos-jailed/install + env: + THEOS: ${{ github.workspace }}/theos + + - name: Hash YT ipa url + run: | + URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)" + echo ::add-mask::$URL_YT + echo URL_YT=$URL_YT >> $GITHUB_ENV + + - name: Debug URL + run: echo "URL is: $URL_YT" + + - name: Prepare YouTube iPA + id: prepare_youtube + run: | + wget "$URL_YT" --quiet --no-verbose -O main/YouTube.ipa + cd ${{ github.workspace }}/main + mv YouTube.ipa YouTube.zip + unzip -q YouTube.zip + youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion) + echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + YOUTUBE_URL: ${{ env.URL_YT }} + + - name: Fix compiling & Build Package + id: build_package + run: | + cd ${{ github.workspace }}/main + sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile + sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile + sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile + make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1 + echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + UYOU_VERSION: ${{ inputs.uyou_version }} + BUNDLE_ID: ${{ inputs.bundle_id }} + APP_NAME: ${{ inputs.app_name }} + + - name: Upload Artifact + if: ${{ inputs.upload_artifact }} + uses: actions/upload-artifact@v5 + with: + name: uYouEnhanced + path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + if-no-files-found: error + + - name: Create Release + if: ${{ inputs.create_release }} + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }} + name: uYouEnhanced Release + files: main/packages/*.ipa + draft: true + name: Debug URL +      run: echo "URL is: $URL_YT" + + - name: Prepare YouTube iPA + id: prepare_youtube + run: | + + wget "$URL_YT" --quiet --no-verbose -O main/YouTube.ipa + cd ${{ github.workspace }}/main + mv YouTube.ipa YouTube.zip + unzip -q YouTube.zip + youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion) + echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + YOUTUBE_URL: ${{ env.URL_YT }} + + - name: Fix compiling & Build Package + id: build_package + run: | + cd ${{ github.workspace }}/main + sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile + sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile + sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile + make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1 + echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + UYOU_VERSION: ${{ inputs.uyou_version }} + BUNDLE_ID: ${{ inputs.bundle_id }} + APP_NAME: ${{ inputs.app_name }} + + - name: Upload Artifact + if: ${{ inputs.upload_artifact }} + uses: actions/upload-artifact@v5 + with: + name: uYouEnhanced + path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + if-no-files-found: error + + - name: Create Release + if: ${{ inputs.create_release }} + uses: softprops/action-gh-release@v2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }} + name: uYouEnhanced Release + files: main/packages/*.ipa + draft: true + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..6074608 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,170 @@ +name: Build and Release uYouEnhanced + +on: + workflow_dispatch: + inputs: + sdk_version: + description: "iOS SDK Version" + default: "17.5" + required: true + type: string + uyou_version: + description: "uYou Version" + default: "3.0.4" + required: true + type: string + decrypted_youtube_url: + description: "Direct URL of the decrypted YouTube IPA" + default: "" + required: true + type: string + bundle_id: + description: "Modify the bundle ID" + default: "com.google.ios.youtube" + required: true + type: string + app_name: + description: "Modify the app name" + default: "YouTube" + required: true + type: string + commit_id: + description: "(Optional) Commit ID to build at" + default: "" + required: false + type: string + upload_artifact: + description: "Upload IPA as artifact" + default: false + required: false + type: boolean + create_release: + description: "Create a draft release" + default: true + required: false + type: boolean + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build uYouEnhanced + runs-on: macos-14 + permissions: + contents: write + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # ← 未来対応 + + steps: + - name: Checkout Main + uses: actions/checkout@v5 + with: + path: main + ref: ${{ github.event.inputs.commit_id || github.ref }} + submodules: recursive + + - name: Install Dependencies + run: brew install ldid dpkg make + + - name: Set PATH environment variable + run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 24 + - name: Setup Theos + uses: actions/checkout@v5 + with: + repository: theos/theos + ref: master + path: theos + submodules: recursive + + - name: SDK Caching + id: SDK + uses: actions/cache@v4 # ← 修正済み + env: + cache-name: iOS-${{ inputs.sdk_version }}-SDK + with: + path: theos/sdks/ + key: ${{ env.cache-name }} + restore-keys: ${{ env.cache-name }} + + - name: Download iOS SDK + if: steps.SDK.outputs.cache-hit != 'true' + run: | + git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/ + cd sdks + git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk + git checkout + mv *.sdk $THEOS/sdks + env: + THEOS: ${{ github.workspace }}/theos + + - name: Setup Theos Jailed + uses: actions/checkout@v5 + with: + repository: qnblackcat/theos-jailed + ref: master + path: theos-jailed + submodules: recursive + + - name: Install Theos Jailed + run: ./theos-jailed/install + env: + THEOS: ${{ github.workspace }}/theos + + - name: Hash YT ipa url + run: | + URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)" + echo ::add-mask::$URL_YT + echo URL_YT=$URL_YT >> $GITHUB_ENV + - name: Prepare YouTube iPA + id: prepare_youtube + run: | + wget "$YOUTUBE_URL" --quiet --no-verbose -O main/YouTube.ipa + cd ${{ github.workspace }}/main + mv YouTube.ipa YouTube.zip + unzip -q YouTube.zip + youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion) + echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + YOUTUBE_URL: ${{ env.URL_YT }} + + - name: Fix compiling & Build Package + id: build_package + run: | + cd ${{ github.workspace }}/main + sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile + sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile + sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile + make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1 + echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + UYOU_VERSION: ${{ inputs.uyou_version }} + BUNDLE_ID: ${{ inputs.bundle_id }} + APP_NAME: ${{ inputs.app_name }} + + - name: Upload Artifact + if: ${{ inputs.upload_artifact }} + uses: actions/upload-artifact@v5 + with: + name: uYouEnhanced + path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + if-no-files-found: error + + - name: Create Release + if: ${{ inputs.create_release }} + uses: softprops/action-gh-release@v2 # ← 修正済み + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }} + name: uYouEnhanced Release + files: main/packages/*.ipa + draft: true diff --git a/.github/workflows/buildapp.yml b/.github/workflows/main3.yml similarity index 78% rename from .github/workflows/buildapp.yml rename to .github/workflows/main3.yml index 769d864..72dac4a 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/main3.yml @@ -1,6 +1,3 @@ -# Original idea by @ISnackable. Thanks to him for handling the hardest parts! -# https://github.com/ISnackable/YTCubePlus/blob/main/.github/workflows/Build.yml - name: Build and Release uYouEnhanced on: @@ -46,7 +43,7 @@ on: default: true required: false type: boolean - + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -57,6 +54,8 @@ jobs: runs-on: macos-14 permissions: contents: write + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # ← 未来対応 steps: - name: Checkout Main @@ -72,6 +71,10 @@ jobs: - name: Set PATH environment variable run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 24 - name: Setup Theos uses: actions/checkout@v5 with: @@ -82,7 +85,7 @@ jobs: - name: SDK Caching id: SDK - uses: actions/cache@v4.3.0 + uses: actions/cache@v4 # ← 修正済み env: cache-name: iOS-${{ inputs.sdk_version }}-SDK with: @@ -110,8 +113,7 @@ jobs: submodules: recursive - name: Install Theos Jailed - run: | - ./theos-jailed/install + run: ./theos-jailed/install env: THEOS: ${{ github.workspace }}/theos @@ -120,7 +122,6 @@ jobs: URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)" echo ::add-mask::$URL_YT echo URL_YT=$URL_YT >> $GITHUB_ENV - - name: Prepare YouTube iPA id: prepare_youtube run: | @@ -129,10 +130,7 @@ jobs: mv YouTube.ipa YouTube.zip unzip -q YouTube.zip youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion) - echo "==> YouTube v$youtube_version downloaded!" - sed -i '' "17s#.*#YOUTUBE_VERSION = ${youtube_version}#g" Makefile echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT - env: THEOS: ${{ github.workspace }}/theos YOUTUBE_URL: ${{ env.URL_YT }} @@ -141,14 +139,11 @@ jobs: id: build_package run: | cd ${{ github.workspace }}/main - sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile # Modify the bundle ID - sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile # Modify the app name - sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile # Modify the SDK version + sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile + sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile + sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1 echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT - echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m" - echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m" - env: THEOS: ${{ github.workspace }}/theos UYOU_VERSION: ${{ inputs.uyou_version }} @@ -158,24 +153,18 @@ jobs: - name: Upload Artifact if: ${{ inputs.upload_artifact }} uses: actions/upload-artifact@v5 - env: - UYOU_VERSION: ${{ inputs.uyou_version }} - YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }} with: - name: uYouEnhanced_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }} + name: uYouEnhanced path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} if-no-files-found: error - name: Create Release if: ${{ inputs.create_release }} - id: create_release - uses: softprops/action-gh-release@v2.5.0 + uses: softprops/action-gh-release@v2 # ← 修正済み env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - UYOU_VERSION: ${{ inputs.uyou_version }} - YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }} with: - tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) - name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) + tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }} + name: uYouEnhanced Release files: main/packages/*.ipa draft: true diff --git a/.github/workflows/mainnew2.yml b/.github/workflows/mainnew2.yml new file mode 100644 index 0000000..6074608 --- /dev/null +++ b/.github/workflows/mainnew2.yml @@ -0,0 +1,170 @@ +name: Build and Release uYouEnhanced + +on: + workflow_dispatch: + inputs: + sdk_version: + description: "iOS SDK Version" + default: "17.5" + required: true + type: string + uyou_version: + description: "uYou Version" + default: "3.0.4" + required: true + type: string + decrypted_youtube_url: + description: "Direct URL of the decrypted YouTube IPA" + default: "" + required: true + type: string + bundle_id: + description: "Modify the bundle ID" + default: "com.google.ios.youtube" + required: true + type: string + app_name: + description: "Modify the app name" + default: "YouTube" + required: true + type: string + commit_id: + description: "(Optional) Commit ID to build at" + default: "" + required: false + type: string + upload_artifact: + description: "Upload IPA as artifact" + default: false + required: false + type: boolean + create_release: + description: "Create a draft release" + default: true + required: false + type: boolean + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build uYouEnhanced + runs-on: macos-14 + permissions: + contents: write + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # ← 未来対応 + + steps: + - name: Checkout Main + uses: actions/checkout@v5 + with: + path: main + ref: ${{ github.event.inputs.commit_id || github.ref }} + submodules: recursive + + - name: Install Dependencies + run: brew install ldid dpkg make + + - name: Set PATH environment variable + run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 24 + - name: Setup Theos + uses: actions/checkout@v5 + with: + repository: theos/theos + ref: master + path: theos + submodules: recursive + + - name: SDK Caching + id: SDK + uses: actions/cache@v4 # ← 修正済み + env: + cache-name: iOS-${{ inputs.sdk_version }}-SDK + with: + path: theos/sdks/ + key: ${{ env.cache-name }} + restore-keys: ${{ env.cache-name }} + + - name: Download iOS SDK + if: steps.SDK.outputs.cache-hit != 'true' + run: | + git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/aricloverALT/sdks/ + cd sdks + git sparse-checkout set --no-cone iPhoneOS${{ inputs.sdk_version }}.sdk + git checkout + mv *.sdk $THEOS/sdks + env: + THEOS: ${{ github.workspace }}/theos + + - name: Setup Theos Jailed + uses: actions/checkout@v5 + with: + repository: qnblackcat/theos-jailed + ref: master + path: theos-jailed + submodules: recursive + + - name: Install Theos Jailed + run: ./theos-jailed/install + env: + THEOS: ${{ github.workspace }}/theos + + - name: Hash YT ipa url + run: | + URL_YT="$(jq -r '.inputs.decrypted_youtube_url' $GITHUB_EVENT_PATH)" + echo ::add-mask::$URL_YT + echo URL_YT=$URL_YT >> $GITHUB_ENV + - name: Prepare YouTube iPA + id: prepare_youtube + run: | + wget "$YOUTUBE_URL" --quiet --no-verbose -O main/YouTube.ipa + cd ${{ github.workspace }}/main + mv YouTube.ipa YouTube.zip + unzip -q YouTube.zip + youtube_version=$(defaults read "$(pwd)/Payload/YouTube.app/Info" CFBundleVersion) + echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + YOUTUBE_URL: ${{ env.URL_YT }} + + - name: Fix compiling & Build Package + id: build_package + run: | + cd ${{ github.workspace }}/main + sed -i '' "30s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile + sed -i '' "29s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile + sed -i '' "1s#.*#export TARGET = iphone:clang:${{ inputs.sdk_version }}:14.0#g" Makefile + make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1 + echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT + env: + THEOS: ${{ github.workspace }}/theos + UYOU_VERSION: ${{ inputs.uyou_version }} + BUNDLE_ID: ${{ inputs.bundle_id }} + APP_NAME: ${{ inputs.app_name }} + + - name: Upload Artifact + if: ${{ inputs.upload_artifact }} + uses: actions/upload-artifact@v5 + with: + name: uYouEnhanced + path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + if-no-files-found: error + + - name: Create Release + if: ${{ inputs.create_release }} + uses: softprops/action-gh-release@v2 # ← 修正済み + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ steps.prepare_youtube.outputs.youtube_version }}-${{ inputs.uyou_version }} + name: uYouEnhanced Release + files: main/packages/*.ipa + draft: true