Skip to content

SCInsta

SCInsta #28

Workflow file for this run

name: SCInsta
on:
workflow_dispatch:
inputs:
release_type:
description: "Set the type of Release sideload rootfull rootless"
default: ""
required: true
type: strings
options:
- sideload
- rootfull
- rootless
decrypted_instagram_url:
description: "The direct URL to the decrypted Instagram IPA"
default: ""
required: true
type: string
bundle_id:
description: "Modify the bundle ID. Not recommended"
default: "com.burbn.instagram"
required: true
type: string
app_name:
description: "Modify the name of the app on the Home Screen. Not recommended"
default: "Instagram"
required: true
type: string
create_release:
description: "Create a draft release"
default: true
required: false
type: boolean
upload_artifact:
description: "Upload Artifact"
default: true
required: false
type: boolean
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build SCInsta
runs-on: macos-latest
permissions:
contents: write
steps:
- name: Checkout Main
uses: actions/[email protected]
with:
path: main
submodules: recursive
- name: Install Dependencies
run: brew install ldid dpkg make
- name: Install Pyzule
run: |
git clone --recurse-submodules https://github.com/asdfzxcvbn/pyzule
cd pyzule
./install-pyzule.sh
- name: Set PATH environment variable
run: echo "$(brew --prefix make)/libexec/gnubin" >> $GITHUB_PATH
- name: Setup Theos
uses: actions/[email protected]
with:
repository: theos/theos
ref: master
path: theos
submodules: recursive
- name: SDK Caching
id: SDK
uses: actions/[email protected]
env:
cache-name: iOS-14.5-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/xybp888/ios-sdks/
cd ios-sdks
git sparse-checkout set --no-cone iPhoneOS14.5.sdk
git checkout
mv *.sdk $THEOS/sdks
env:
THEOS: ${{ github.workspace }}/theos
- name: Setup Theos Jailed
uses: actions/[email protected]
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: Clone SCInsta Repo
run: |
git clone --recurse-submodules https://github.com/SoCuul/SCInsta
pwd
mkdir -p ${{ github.workspace }}/SCInsta/packages
- name: Prepare Instagram IPA
run: |
wget "$Instagram_URL" --no-verbose -O ${{ github.workspace }}/SCInsta/packages/com.burbn.instagram.ipa
env:
THEOS: ${{ github.workspace }}/theos
Instagram_URL: ${{ inputs.decrypted_instagram_url }}
- name: Build SCInsta tweak for sideloading (as IPA)
id: build
run: |
PROJECT_PATH=$GITHUB_WORKSPACE/SCInsta/
IPA_PATH=$GITHUB_WORKSPACE/SCInsta/packages/
cd $PROJECT_PATH
CMAKE_OSX_ARCHITECTURES="arm64e;arm64"
ipaFile="$IPA_PATH/com.burbn.instagram.ipa"
echo "IPA File: $ipaFile"
./build.sh ${{ github.event.inputs.release_type }}
ls -l $IPA_PATH/
IPA_FILE=$(ls $IPA_PATH/SCInsta-*.ipa)
if [[ -z "$IPA_FILE" ]]; then
echo "No IPA file found"
exit 1
fi
echo "IPA_FILE=$IPA_FILE" >> $GITHUB_ENV
env:
THEOS: ${{ github.workspace }}/theos
- name: Upload Artifact
if: ${{ inputs.upload_artifact }}
uses: actions/[email protected]
with:
name: SCInsta_${{ github.run_number }}
path: ${{ env.IPA_FILE }}
if-no-files-found: error
- name: Create Release
id: create_release
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v0.4.1
name: v0.4.1
files: ${{ env.IPA_FILE }}
if-no-files-found: error