forked from qnblackcat/uYouPlus
-
Notifications
You must be signed in to change notification settings - Fork 218
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a5de2ca
commit 17910ea
Showing
1 changed file
with
46 additions
and
33 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,58 +1,69 @@ | ||
# Original idea by @ISnackable. Thanks to him for handling the hardest parts! | ||
# https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml | ||
# https://github.com/ISnackable/YTCubePlus/blob/main/.github/workflows/Build.yml | ||
|
||
name: Build and Release uYouPlus | ||
name: Build and Release uYouEnhanced | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
sdk_version: | ||
description: "iOS SDK Version" | ||
default: "16.5" | ||
required: true | ||
type: string | ||
uyou_version: | ||
description: "The version of uYou" | ||
default: "3.0.3" | ||
description: "uYou Version" | ||
default: "3.0.4" | ||
required: true | ||
type: string | ||
decrypted_youtube_url: | ||
description: "Direct URL to the decrypted YouTube ipa. The version of YouTube will be detected automatically." | ||
description: "Direct URL of the decrypted YouTube IPA" | ||
default: "" | ||
required: true | ||
type: string | ||
bundle_id: | ||
description: "Modify the bundle ID. Not recommended" | ||
description: "Modify the bundle ID" | ||
default: "com.google.ios.youtube" | ||
required: true | ||
type: string | ||
app_name: | ||
description: "Modify the name of the app on the Home Screen. Not recommended" | ||
description: "Modify the app name" | ||
default: "YouTube" | ||
required: true | ||
type: string | ||
create_release: | ||
description: "Create a draft release" | ||
default: true | ||
commit_id: | ||
description: "(Optional) Commit ID to build at" | ||
default: "" | ||
required: false | ||
type: boolean | ||
type: string | ||
upload_artifact: | ||
description: "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 uYouPlus | ||
name: Build uYouEnhanced | ||
runs-on: macos-12 | ||
permissions: | ||
contents: write | ||
|
||
steps: | ||
- name: Checkout Main | ||
uses: actions/[email protected].1 | ||
uses: actions/[email protected].7 | ||
with: | ||
path: main | ||
ref: ${{ github.event.inputs.commit_id || github.ref }} | ||
submodules: recursive | ||
|
||
- name: Install Dependencies | ||
|
@@ -62,34 +73,36 @@ jobs: | |
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH | ||
|
||
- name: Setup Theos | ||
uses: actions/[email protected].1 | ||
uses: actions/[email protected].7 | ||
with: | ||
repository: theos/theos | ||
ref: master | ||
ref: 5bfdc3cb7133ec1cab43182115d902e2b57c9eac | ||
path: theos | ||
submodules: recursive | ||
|
||
- name: Caching | ||
- name: SDK Caching | ||
id: SDK | ||
uses: actions/[email protected].0 | ||
uses: actions/[email protected].2 | ||
env: | ||
cache-name: iOS-16.5-SDK | ||
cache-name: iOS-${{ inputs.sdk_version }}-SDK | ||
with: | ||
path: theos/sdks/ | ||
key: ${{ env.cache-name }} | ||
|
||
- name: Download iOS 16.5 SDK | ||
restore-keys: ${{ env.cache-name }} | ||
|
||
- name: Download iOS SDK | ||
if: steps.SDK.outputs.cache-hit != 'true' | ||
run: | | ||
git clone -n --depth=1 --filter=tree:0 https://github.com/theos/sdks.git && cd sdks | ||
git sparse-checkout set --no-cone iPhoneOS16.5.sdk | ||
git clone --quiet -n --depth=1 --filter=tree:0 https://github.com/theos/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/[email protected].1 | ||
uses: actions/[email protected].7 | ||
with: | ||
repository: qnblackcat/theos-jailed | ||
ref: master | ||
|
@@ -121,10 +134,10 @@ jobs: | |
- name: Fix compiling & Build Package | ||
id: build_package | ||
run: | | ||
mkdir -p theos/lib/iphone/rootless | ||
cd ${{ github.workspace }}/main | ||
sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile | ||
sed -i '' "26s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile | ||
sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile # Modify the bundle ID | ||
sed -i '' "26s#.*#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 | ||
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" | ||
|
@@ -138,25 +151,25 @@ jobs: | |
|
||
- name: Upload Artifact | ||
if: ${{ inputs.upload_artifact }} | ||
uses: actions/[email protected].0 | ||
uses: actions/[email protected].3 | ||
env: | ||
UYOU_VERSION: ${{ inputs.uyou_version }} | ||
YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }} | ||
with: | ||
name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }} | ||
name: uYouEnhanced_${{ 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: qnblackcat/action-gh-release@master | ||
uses: softprops/action-gh-release@v2.0.6 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
UYOU_VERSION: ${{ inputs.uyou_version }} | ||
YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }} | ||
DRAFT: ${{ inputs.create_release }} | ||
with: | ||
tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) | ||
name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) | ||
files: main/packages/*.ipa | ||
draft: ${{ env.DRAFT }} | ||
draft: true |