Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 22 additions & 43 deletions .github/workflows/build-ipa.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,28 @@
name: Build IPA from your own Spotify IPA
name: Build Tweak DEB

on:
push:
branches: [ "crack", "main", "master" ]
pull_request:
branches: [ "crack", "main", "master" ]
workflow_dispatch:
inputs:
ipa_url:
description: "Direct link to a decrypted Spotify IPA"
required: true
type: string
upload_method:
description: "Where to put the result"
default: artifacts
type: choice
options: [artifacts, filebin, both]

env:
THEOS: ${{ github.workspace }}/theos

jobs:
build:
runs-on: macos-latest
runs-on: macos-13
steps:
- uses: actions/checkout@v5

- uses: levibostian/action-hide-sensitive-inputs@v1
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- uses: maxim-lobanov/setup-xcode@v1
- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- uses: actions/checkout@v5
- name: Checkout Theos
uses: actions/checkout@v4
with:
repository: theos/theos
path: theos
Expand All @@ -37,30 +31,15 @@ jobs:
- name: Install tools
run: |
brew install make dpkg ldid
python3 -m pip install --break-system-packages git+https://github.com/asdfzxcvbn/pyzule-rw.git

- name: Download IPA
- name: Build Package
run: |
mkdir -p ipa
curl -fsSL "${{ inputs.ipa_url }}" -o ipa/spotify.ipa
case "$(file --mime-type -b ipa/spotify.ipa)" in application/zip|application/x-ios-app) ;; *) echo "::error::Not an IPA"; exit 1 ;; esac
cd tweak
make clean
make package FINALPACKAGE=1

- run: make release

- uses: actions/upload-artifact@v5
if: inputs.upload_method != 'filebin'
- name: Upload DEB Artifact
uses: actions/upload-artifact@v4
with:
name: spoti.ipa
path: out/*.ipa
if-no-files-found: error

- name: Upload to filebin.net
if: inputs.upload_method != 'artifacts'
run: |
BIN="spotifyglass-${{ github.run_id }}"
echo "### filebin.net download" >> "$GITHUB_STEP_SUMMARY"
for f in out/*.ipa; do
curl -fsS -X POST -H "Content-Type: application/octet-stream" --data-binary "@$f" "https://filebin.net/$BIN/$(basename "$f")" >/dev/null
echo "- https://filebin.net/$BIN/$(basename "$f")" >> "$GITHUB_STEP_SUMMARY"
done
echo "- _filebin deletes bins after a few days of inactivity, download promptly._" >> "$GITHUB_STEP_SUMMARY"
name: spotifyglass-karaoke-covers-deb
path: tweak/packages/*.deb