mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-09 06:43:25 +01:00
159 lines
5.6 KiB
YAML
159 lines
5.6 KiB
YAML
name: Nightly SideStore build
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
|
|
jobs:
|
|
build:
|
|
name: Build and upload SideStore Nightly
|
|
concurrency:
|
|
group: ${{ github.ref }}
|
|
cancel-in-progress: true
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: 'macos-12'
|
|
version: '14.2'
|
|
|
|
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: Change default icon to nightly icon
|
|
run: sed -e 's/= Neon/= Steel/' -i '' ./AltStore.xcodeproj/project.pbxproj
|
|
|
|
- name: Add nightly suffix to version
|
|
run: sed -e '/MARKETING_VERSION = .*/s/$/-nightly.${{ github.run_number }}/' -i '' Build.xcconfig
|
|
|
|
- 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: Get version
|
|
id: version
|
|
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
|
|
|
|
- name: Get current date
|
|
id: date
|
|
run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT
|
|
|
|
- name: Get current date in AltStore date form
|
|
id: date_altstore
|
|
run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT
|
|
|
|
- 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
|
|
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 which means you'll be able to try out new features very early. However, since these changes are much newer and less tested, they have a much higher chance of bugs, so **use at your own risk**.
|
|
|
|
If you want to try out new features early but want a lower chance of bugs, you can look at [SideStore Beta](https://github.com/${{ github.repository }}/releases/tag/beta).
|
|
|
|
If you use the `SideStore (Nightly)` app, it will use the latest nightly build (make sure to update it in "My Apps").
|
|
|
|
## Build Info
|
|
|
|
Built at (UTC): `${{ steps.date.outputs.date }}`
|
|
Built at (UTC date): `${{ steps.date_altstore.outputs.date }}`
|
|
Commit SHA: `${{ github.sha }}`
|
|
Version: `${{ steps.version.outputs.version }}`
|