name: Build and Upload SideStore on: push: branches: - master - develop pull_request: jobs: build: name: Build and upload SideStore strategy: fail-fast: false matrix: include: - os: 'macos-12' version: '14.0.0' runs-on: ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v2 with: submodules: recursive - name: Cache rust cargo id: cache-rust-cargo uses: actions/cache@v3 env: cache-name: cache-rust-cargo with: path: ~/.cargo key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Cache rust minimuxer id: cache-rust-minimuxer uses: actions/cache@v3 env: cache-name: cache-rust-minimuxer with: path: ./Dependencies/minimuxer/target key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Cache rust em_proxy id: cache-rust-em_proxy uses: actions/cache@v3 env: cache-name: cache-rust-em_proxy with: path: ./Dependencies/em_proxy/target key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - name: Install dependencies run: brew install ldid - name: Install rustup uses: actions-rs/toolchain@v1 with: toolchain: stable override: true target: aarch64-apple-ios - name: Create emotional damage run: cd Dependencies/em_proxy && cargo build --release --target aarch64-apple-ios - name: Build minimuxer run: cd Dependencies/minimuxer && cargo build --release --target aarch64-apple-ios - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1.4.1 with: xcode-version: ${{ matrix.version }} - name: Build SideStore run: | rm -rf ~/Library/Developer/Xcode/DerivedData/ rm ./AltStore.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved xcodebuild -project AltStore.xcodeproj -scheme AltStore -sdk iphoneos archive -archivePath ./archive CODE_SIGNING_REQUIRED=NO AD_HOC_CODE_SIGNING_ALLOWED=YES CODE_SIGNING_ALLOWED=NO DEVELOPMENT_TEAM=XYZ0123456 ORG_IDENTIFIER=com.SideStore | xcpretty && exit ${PIPESTATUS[0]} - name: Fakesign app run: | rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/AltStoreCore.framework/Frameworks/ ldid -SAltStore/Resources/tempEnt.plist archive.xcarchive/Products/Applications/SideStore.app/SideStore - name: Convert to IPA run: | mkdir Payload mkdir Payload/SideStore.app cp -R archive.xcarchive/Products/Applications/SideStore.app/ Payload/SideStore.app/ zip -r SideStore.ipa Payload - name: Upload Artifact uses: actions/upload-artifact@v3.1.0 with: name: SideStore.ipa path: SideStore.ipa