diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml index 8ac8fa3..343e764 100644 --- a/.github/workflows/buildapp.yml +++ b/.github/workflows/buildapp.yml @@ -1,7 +1,7 @@ # Original idea by @ISnackable. Thanks to him for handling the hardest parts! # https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml -name: Build uYouPlus Artifact +name: Build and Release uYouPlus on: workflow_dispatch: @@ -21,7 +21,12 @@ on: default: "" required: true type: string - + create_release: + description: "Create a draft release" + default: false + required: false + type: boolean + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -30,6 +35,8 @@ jobs: build: name: Build uYouPlus runs-on: macos-latest + permissions: + contents: write steps: - name: Checkout Main @@ -85,8 +92,8 @@ jobs: env: THEOS: ${{ github.workspace }}/theos - UYOU_VERSION: ${{ github.event.inputs.uyou_version }} - YOUTUBE_URL: ${{ github.event.inputs.decrypted_youtube_url }} + UYOU_VERSION: ${{ inputs.uyou_version }} + YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }} - name: Fix compiling && Build Package id: build_package @@ -98,15 +105,42 @@ jobs: echo "::set-output name=package::$(ls -t packages | head -n1)" env: THEOS: ${{ github.workspace }}/theos - UYOU_VERSION: ${{ github.event.inputs.uyou_version }} - YOUTUBE_VERSION: ${{ github.event.inputs.youtube_version }} + UYOU_VERSION: ${{ inputs.uyou_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} - name: Upload Artifact uses: actions/upload-artifact@v3 env: - UYOU_VERSION: ${{ github.event.inputs.uyou_version }} - YOUTUBE_VERSION: ${{ github.event.inputs.youtube_version }} + UYOU_VERSION: ${{ inputs.uyou_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} with: name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }} 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: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + UYOU_VERSION: ${{ inputs.uyou_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} + with: + tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) + release_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) + draft: true + prerelease: false + + - name: Upload Release Asset + if: ${{ inputs.create_release }} + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + UYOU_VERSION: ${{ inputs.uyou_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + asset_name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa + asset_content_type: application/vnd.debian.binary-package diff --git a/.github/workflows/buildapp_release.yml b/.github/workflows/buildapp_release.yml deleted file mode 100644 index 837f651..0000000 --- a/.github/workflows/buildapp_release.yml +++ /dev/null @@ -1,129 +0,0 @@ -# Original idea by @ISnackable. Thanks to him for handling the hardest parts! -# https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml -# This workflow is not for you. Please use the “Build uYouPlus Artifact” workflow! - -name: Build and Release uYouPlus (draft) - -on: - workflow_dispatch: - inputs: - uyou_version: - description: "The version of uYou" - default: "2.1" - required: false - type: string - decrypted_youtube_url: - description: "The direct URL to the decrypted YouTube ipa" - default: "" - required: true - type: string - youtube_version: - description: "The version of YouTube" - default: "" - required: true - type: string - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Build uYouPlus - runs-on: macos-latest - - steps: - - name: Set Env - run: echo "workspace=$GITHUB_WORKSPACE" >> $GITHUB_ENV - - - name: Checkout Main - uses: actions/checkout@v3 - with: - path: main - submodules: recursive - - - name: Install Dependencies - run: brew install ldid dpkg - - - name: Setup Theos - uses: actions/checkout@v3 - with: - repository: theos/theos - ref: master - path: theos - submodules: recursive - - - name: Download iOS 15 SDK - run: | - curl -LO https://github.com/chrisharper22/sdks/archive/main.zip - TMP=$(mktemp -d) - unzip -qq main.zip -d $TMP - mv $TMP/sdks-main/*.sdk $THEOS/sdks - rm -r main.zip $TMP - env: - THEOS: ${{ env.workspace }}/theos - - - name: Setup Theos Jailed - uses: actions/checkout@v3 - with: - repository: kabiroberai/theos-jailed - ref: master - path: theos-jailed - submodules: recursive - - - name: Install Theos Jailed - run: | - ./theos-jailed/install - env: - THEOS: ${{ env.workspace }}/theos - - - name: Download uYou && YouTube ipa - run: | - curl "https://raw.githubusercontent.com/Muirey03/RemoteLog/master/RemoteLog.h" --output "$THEOS/include/RemoteLog.h" - curl "https://miro92.com/repo/debs/com.miro.uyou_${{ env.UYOU_VERSION }}_iphoneos-arm.deb" --output "./main/Tweaks/uYou/com.miro.uyou_${{ env.UYOU_VERSION }}_iphoneos-arm.deb" - wget "$YOUTUBE_URL" --no-verbose -O ./main/YouTube.ipa - dpkg-deb -x "./main/Tweaks/uYou/com.miro.uyou_${{ env.UYOU_VERSION }}_iphoneos-arm.deb" ./main/Tweaks/uYou/ - unzip -q ./main/YouTube.ipa -d ./main/tmp - rm -rf ./main/tmp/Payload/YouTube.app/PlugIns/* - cp -R ./main/Extensions/*.appex ./main/tmp/Payload/YouTube.app/PlugIns - - env: - THEOS: ${{ env.workspace }}/theos - UYOU_VERSION: ${{ github.event.inputs.uyou_version }} - YOUTUBE_URL: ${{ github.event.inputs.decrypted_youtube_url }} - YOUTUBE_VERSION: ${{ github.event.inputs.youtube_version }} - - - name: Fix compiling && Build Package - id: build_package - run: | - cd ${{ env.workspace }}/main - (cd ${{ env.workspace }}/main/Tweaks/YouPiP && sed -i '' "14s#.*#YouPiP_FRAMEWORKS = AVKit AVFoundation UIKit#g" ./Makefile) - make package FINALPACKAGE=1 - echo "::set-output name=package::$(ls -t packages | head -n1)" - env: - THEOS: ${{ env.workspace }}/theos - - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - UYOU_VERSION: ${{ github.event.inputs.uyou_version }} - YOUTUBE_VERSION: ${{ github.event.inputs.youtube_version }} - with: - tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) - release_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) - draft: true - prerelease: false - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - UYOU_VERSION: ${{ github.event.inputs.uyou_version }} - YOUTUBE_VERSION: ${{ github.event.inputs.youtube_version }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ${{ env.workspace }}/main/packages/${{ steps.build_package.outputs.package }} - asset_name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa - asset_content_type: application/vnd.debian.binary-package