update actions, auto detect IPA's version

This commit is contained in:
qnblackcat 2024-01-27 23:35:34 +07:00
parent 3e8435dc8f
commit 6d579dca14

View file

@ -12,12 +12,7 @@ on:
required: true required: true
type: string type: string
decrypted_youtube_url: decrypted_youtube_url:
description: "The direct URL to the decrypted YouTube ipa" description: "Direct URL to the decrypted YouTube ipa. The version of YouTube will be detected automatically."
default: ""
required: true
type: string
youtube_version:
description: "The version of YouTube"
default: "" default: ""
required: true required: true
type: string type: string
@ -55,7 +50,7 @@ jobs:
steps: steps:
- name: Checkout Main - name: Checkout Main
uses: actions/checkout@v3.2.0 uses: actions/checkout@v4.1.1
with: with:
path: main path: main
submodules: recursive submodules: recursive
@ -67,7 +62,7 @@ jobs:
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
- name: Setup Theos - name: Setup Theos
uses: actions/checkout@v3.2.0 uses: actions/checkout@v4.1.1
with: with:
repository: theos/theos repository: theos/theos
ref: master ref: master
@ -76,7 +71,7 @@ jobs:
- name: Caching - name: Caching
id: SDK id: SDK
uses: actions/cache@v3.2.0 uses: actions/cache@v4.0.0
env: env:
cache-name: iOS-16.5-SDK cache-name: iOS-16.5-SDK
with: with:
@ -94,7 +89,7 @@ jobs:
THEOS: ${{ github.workspace }}/theos THEOS: ${{ github.workspace }}/theos
- name: Setup Theos Jailed - name: Setup Theos Jailed
uses: actions/checkout@v3.2.0 uses: actions/checkout@v4.1.1
with: with:
repository: qnblackcat/theos-jailed repository: qnblackcat/theos-jailed
ref: master ref: master
@ -107,13 +102,20 @@ jobs:
env: env:
THEOS: ${{ github.workspace }}/theos THEOS: ${{ github.workspace }}/theos
- name: Download YouTube iPA - name: Prepare YouTube iPA
id: prepare_youtube
run: | run: |
wget "$YOUTUBE_URL" --no-verbose -O main/YouTube.ipa && echo -e "==> \033[1mYouTube v${{ inputs.youtube_version }} downloaded! \033[0m" wget "$YOUTUBE_URL" --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 v$youtube_version downloaded!"
sed -i '' "17s#.*#YOUTUBE_VERSION = ${youtube_version}#g" Makefile
echo "youtube_version=${youtube_version}" >> $GITHUB_OUTPUT
env: env:
THEOS: ${{ github.workspace }}/theos THEOS: ${{ github.workspace }}/theos
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }} YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }}
- name: Fix compiling & Build Package - name: Fix compiling & Build Package
@ -122,8 +124,7 @@ jobs:
cd ${{ github.workspace }}/main cd ${{ github.workspace }}/main
sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile sed -i '' "27s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile
sed -i '' "26s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile sed -i '' "26s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile
make package THEOS_PACKAGE_SCHEME=rootless IPA=YouTube.ipa FINALPACKAGE=1 make package THEOS_PACKAGE_SCHEME=rootless IPA=Payload/YouTube.app FINALPACKAGE=1
(mv "packages/$(ls -t packages | head -n1)" "packages/uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}.ipa")
echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT 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[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m"
echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m" echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m"
@ -131,16 +132,15 @@ jobs:
env: env:
THEOS: ${{ github.workspace }}/theos THEOS: ${{ github.workspace }}/theos
UYOU_VERSION: ${{ inputs.uyou_version }} UYOU_VERSION: ${{ inputs.uyou_version }}
YOUTUBE_VERSION: ${{ inputs.youtube_version }}
BUNDLE_ID: ${{ inputs.bundle_id }} BUNDLE_ID: ${{ inputs.bundle_id }}
APP_NAME: ${{ inputs.app_name }} APP_NAME: ${{ inputs.app_name }}
- name: Upload Artifact - name: Upload Artifact
if: ${{ inputs.upload_artifact }} if: ${{ inputs.upload_artifact }}
uses: actions/upload-artifact@v3.1.1 uses: actions/upload-artifact@v4.3.0
env: env:
UYOU_VERSION: ${{ inputs.uyou_version }} UYOU_VERSION: ${{ inputs.uyou_version }}
YOUTUBE_VERSION: ${{ inputs.youtube_version }} YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }}
with: with:
name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }} name: uYouPlus_${{ env.YOUTUBE_VERSION }}_${{ env.UYOU_VERSION }}
path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }}
@ -148,11 +148,11 @@ jobs:
- name: Create Release - name: Create Release
id: create_release id: create_release
uses: softprops/action-gh-release@v0.1.15 uses: qnblackcat/action-gh-release@master
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
UYOU_VERSION: ${{ inputs.uyou_version }} UYOU_VERSION: ${{ inputs.uyou_version }}
YOUTUBE_VERSION: ${{ inputs.youtube_version }} YOUTUBE_VERSION: ${{ steps.prepare_youtube.outputs.youtube_version }}
DRAFT: ${{ inputs.create_release }} DRAFT: ${{ inputs.create_release }}
with: with:
tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }}) tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.UYOU_VERSION }}-(${{ github.run_number }})