cargo: fix github action?

Signed-off-by: Joseph Mattello <mail@joemattiello.com>
This commit is contained in:
Joseph Mattello
2022-12-30 14:49:13 -05:00
parent dc676d04d8
commit 0c2dae475e
3 changed files with 98 additions and 53 deletions

View File

@@ -1,11 +1,11 @@
name: Build and Upload SideStore name: Build and Upload SideStore
on: on:
push: push:
branches: branches:
- master - master
- develop - develop
pull_request: pull_request:
jobs: jobs:
build: build:
name: Build and upload SideStore name: Build and upload SideStore
@@ -15,7 +15,7 @@ jobs:
include: include:
- os: 'macos-12' - os: 'macos-12'
version: '14.0.0' version: '14.0.0'
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout code - name: Checkout code
@@ -23,76 +23,81 @@ jobs:
with: with:
submodules: recursive submodules: recursive
- name: Cache rust cargo # - name: Cache rust cargo
id: cache-rust-cargo # id: cache-rust-cargo
uses: actions/cache@v3 # uses: actions/cache@v3
env: # env:
cache-name: cache-rust-cargo # cache-name: cache-rust-cargo
with: # with:
path: ~/.cargo # path: ~/.cargo
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: | # restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}- # ${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build- # ${{ runner.os }}-build-
${{ runner.os }}- # ${{ runner.os }}-
- name: Cache rust minimuxer # - name: Cache rust minimuxer
id: cache-rust-minimuxer # id: cache-rust-minimuxer
uses: actions/cache@v3 # uses: actions/cache@v3
env: # env:
cache-name: cache-rust-minimuxer # cache-name: cache-rust-minimuxer
with: # with:
path: ./Dependencies/minimuxer/target # path: ./Dependencies/minimuxer/target
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: | # restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}- # ${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build- # ${{ runner.os }}-build-
${{ runner.os }}- # ${{ runner.os }}-
- name: Cache rust em_proxy # - name: Cache rust em_proxy
id: cache-rust-em_proxy # id: cache-rust-em_proxy
uses: actions/cache@v3 # uses: actions/cache@v3
env: # env:
cache-name: cache-rust-em_proxy # cache-name: cache-rust-em_proxy
with: # with:
path: ./Dependencies/em_proxy/target # path: ./Dependencies/em_proxy/target
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} # key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: | # restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}- # ${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build- # ${{ runner.os }}-build-
${{ runner.os }}- # ${{ 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: 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 - name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1.4.1 uses: maxim-lobanov/setup-xcode@v1.4.1
with: with:
xcode-version: ${{ matrix.version }} xcode-version: ${{ matrix.version }}
- name: Build SideStore - name: Build SideStore
run: | run: |
rm -rf ~/Library/Developer/Xcode/DerivedData/ rm -rf ~/Library/Developer/Xcode/DerivedData/
rm ./AltStore.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved 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]} 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 - name: Fakesign app
run: | run: |
rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/AltStoreCore.framework/Frameworks/ rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/AltStoreCore.framework/Frameworks/
ldid -SAltStore/Resources/tempEnt.plist archive.xcarchive/Products/Applications/SideStore.app/SideStore ldid -SAltStore/Resources/tempEnt.plist archive.xcarchive/Products/Applications/SideStore.app/SideStore
- name: Convert to IPA - name: Convert to IPA
run: | run: |
mkdir Payload mkdir Payload
mkdir Payload/SideStore.app mkdir Payload/SideStore.app
cp -R archive.xcarchive/Products/Applications/SideStore.app/ Payload/SideStore.app/ cp -R archive.xcarchive/Products/Applications/SideStore.app/ Payload/SideStore.app/
zip -r SideStore.ipa Payload zip -r SideStore.ipa Payload
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
with: with:

View File

@@ -36,6 +36,7 @@
B3146ED3284F581E00BBC3FD /* Roxas.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B3146ED3284F581E00BBC3FD /* Roxas.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B3146ECD284F580500BBC3FD /* Roxas.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F84C295F6321002B1159 /* libminimuxer_static.a */; }; B343F858295F6331002B1159 /* libminimuxer_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F84C295F6321002B1159 /* libminimuxer_static.a */; };
B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F853295F6323002B1159 /* libem_proxy_static.a */; }; B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F853295F6323002B1159 /* libem_proxy_static.a */; };
B343F86D295F759E002B1159 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B343F86C295F759E002B1159 /* libresolv.tbd */; };
B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; };
B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; }; B3919A52292DBE5400519575 /* ProgressRing.swift in Sources */ = {isa = PBXBuildFile; fileRef = D504F42528AD72C50014BB5D /* ProgressRing.swift */; };
B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; }; B39575F5284F29E20080B4FF /* Roxas.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B39575F4284F29E20080B4FF /* Roxas.framework */; };
@@ -404,6 +405,20 @@
remoteGlobalIDString = CA60058A9FBE4D17AF51A7D5; remoteGlobalIDString = CA60058A9FBE4D17AF51A7D5;
remoteInfo = "run-bin"; remoteInfo = "run-bin";
}; };
B343F86E295F76FD002B1159 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = B343F847295F6321002B1159 /* minimuxer.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = CA609C732349A560B9642892;
remoteInfo = "minimuxer-staticlib";
};
B343F870295F7704002B1159 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = B343F84D295F6323002B1159 /* em_proxy.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = CA60C44C93D7A30E3695DD59;
remoteInfo = "em_proxy-staticlib";
};
BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = { BF66EE832501AE50007EE018 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = BFD247622284B9A500981D42 /* Project object */; containerPortal = BFD247622284B9A500981D42 /* Project object */;
@@ -482,6 +497,7 @@
B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = "<group>"; }; B3146EC6284F580500BBC3FD /* Roxas.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Roxas.xcodeproj; path = Dependencies/Roxas/Roxas.xcodeproj; sourceTree = "<group>"; };
B343F847295F6321002B1159 /* minimuxer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = minimuxer.xcodeproj; path = Dependencies/minimuxer.xcodeproj; sourceTree = SOURCE_ROOT; }; B343F847295F6321002B1159 /* minimuxer.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = minimuxer.xcodeproj; path = Dependencies/minimuxer.xcodeproj; sourceTree = SOURCE_ROOT; };
B343F84D295F6323002B1159 /* em_proxy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = em_proxy.xcodeproj; path = Dependencies/em_proxy.xcodeproj; sourceTree = SOURCE_ROOT; }; B343F84D295F6323002B1159 /* em_proxy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = em_proxy.xcodeproj; path = Dependencies/em_proxy.xcodeproj; sourceTree = SOURCE_ROOT; };
B343F86C295F759E002B1159 /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/lib/libresolv.tbd; sourceTree = DEVELOPER_DIR; };
B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = "<group>"; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = "<group>"; };
B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; };
B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = "<group>"; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = "<group>"; };
@@ -811,6 +827,7 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
B343F86D295F759E002B1159 /* libresolv.tbd in Frameworks */,
B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */, B343F859295F6335002B1159 /* libem_proxy_static.a in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
@@ -1506,6 +1523,7 @@
BFD247852284BB3300981D42 /* Frameworks */ = { BFD247852284BB3300981D42 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
B343F86C295F759E002B1159 /* libresolv.tbd */,
191E5FB5290A5E1F001A3B7C /* libminimuxer.a */, 191E5FB5290A5E1F001A3B7C /* libminimuxer.a */,
19104DA32909BC1000C49C7B /* libem_proxy.a */, 19104DA32909BC1000C49C7B /* libem_proxy.a */,
B39575F4284F29E20080B4FF /* Roxas.framework */, B39575F4284F29E20080B4FF /* Roxas.framework */,
@@ -1775,6 +1793,7 @@
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
B343F871295F7704002B1159 /* PBXTargetDependency */,
); );
name = EmotionalDamage; name = EmotionalDamage;
productName = EmotionalDamage; productName = EmotionalDamage;
@@ -1792,6 +1811,7 @@
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
B343F86F295F76FD002B1159 /* PBXTargetDependency */,
); );
name = minimuxer; name = minimuxer;
productName = minimuxer; productName = minimuxer;
@@ -2435,6 +2455,16 @@
isa = PBXTargetDependency; isa = PBXTargetDependency;
productRef = 191E5FD9290AFA49001A3B7C /* OpenSSL */; productRef = 191E5FD9290AFA49001A3B7C /* OpenSSL */;
}; };
B343F86F295F76FD002B1159 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "minimuxer-staticlib";
targetProxy = B343F86E295F76FD002B1159 /* PBXContainerItemProxy */;
};
B343F871295F7704002B1159 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "em_proxy-staticlib";
targetProxy = B343F870295F7704002B1159 /* PBXContainerItemProxy */;
};
BF66EE842501AE50007EE018 /* PBXTargetDependency */ = { BF66EE842501AE50007EE018 /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = BF66EE7D2501AE50007EE018 /* AltStoreCore */; target = BF66EE7D2501AE50007EE018 /* AltStoreCore */;

10
Dependencies/update.sh vendored Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
set -e; set -o pipefail; set -x;
echo "Building Rust projects..."
cd em_proxy
cargo xcode --output-dir ../
cd ../
cd minimuxer
cargo xcode --output-dir ../
echo "Done!"