mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-10 07:13:28 +01:00
150 lines
4.9 KiB
YAML
150 lines
4.9 KiB
YAML
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.2'
|
||
|
||
runs-on: ${{ matrix.os }}
|
||
steps:
|
||
- name: Test nightly
|
||
run: echo "test" > test.ipa
|
||
|
||
- name: Upload to nightly release
|
||
uses: IsaacShelton/update-existing-release@v1.3.1
|
||
with:
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
release: "Nightly build for ${{ github.sha }}"
|
||
tag: "nightly"
|
||
prerelease: true
|
||
files: test.ipa
|
||
body: >
|
||
This is an __⚠️ **EXPERIMENTAL** ⚠️__ nightly build for commit [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }}).
|
||
|
||
Nightly builds are built from the most recent commit. However, since they are much newer and less tested, they have a much higher chance of bugs, so **use at your own risk**.
|
||
|
||
If you use the SideStore (Nightly) app, it will use the latest nightly build.
|
||
|
||
Built at: $(date -u +'%c') (UTC)
|
||
|
||
- name: Trigger error
|
||
run: exit 1
|
||
|
||
- 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: |
|
||
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
|
||
|
||
- name: Upload to nightly release
|
||
uses: IsaacShelton/update-existing-release@v1.3.1
|
||
with:
|
||
token: ${{ secrets.GITHUB_TOKEN }}
|
||
release: "Nightly"
|
||
tag: "nightly"
|
||
prerelease: true
|
||
files: SideStore.ipa
|
||
message: "Nightly build for commit [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }})"
|
||
body: ""
|