Update paths for ci cd

This commit is contained in:
Joe Mattiello
2023-03-02 00:45:35 -05:00
parent f49fa24743
commit 444aac1210
5 changed files with 322 additions and 178 deletions

View File

@@ -2,7 +2,7 @@ name: Beta SideStore build
on: on:
push: push:
tags: tags:
- '[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' # example: 1.0.0-beta.1 - '[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' # example: 1.0.0-beta.1
jobs: jobs:
build: build:
@@ -11,41 +11,41 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: 'macos-12' - os: 'macos-12'
version: '14.2' version: '14.2'
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
submodules: recursive submodules: recursive
- name: Install dependencies - name: Install dependencies
run: brew install ldid run: brew install ldid
- name: Change version to tag - name: Change version to tag
run: sed -e '/MARKETING_VERSION = .*/s/= .*/= ${{ github.ref_name }}/' -i '' Build.xcconfig run: sed -e '/MARKETING_VERSION = .*/s/= .*/= ${{ github.ref_name }}/' -i '' Build.xcconfig
- 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: make build | xcpretty && exit ${PIPESTATUS[0]} run: make build | xcpretty && exit ${PIPESTATUS[0]}
- name: Fakesign app - name: Fakesign app
run: make fakesign run: make fakesign
- name: Convert to IPA - name: Convert to IPA
run: make ipa run: make ipa
- name: Upload SideStore.ipa Artifact - name: Upload SideStore.ipa Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
with: with:
name: SideStore.ipa name: SideStore.ipa
path: SideStore.ipa path: SideStore.ipa
- name: Upload *.dSYM Artifact - name: Upload *.dSYM Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
@@ -53,38 +53,38 @@ jobs:
name: SideStore-dSYM name: SideStore-dSYM
path: ./*.dSYM/ path: ./*.dSYM/
- name: Get version - name: Get version
id: version id: version
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
- name: Get current date - name: Get current date
id: date id: date
run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT
- name: Get current date in AltStore date form - name: Get current date in SideStore date form
id: date_altstore id: date_sidestore
run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Upload to new beta release - name: Upload to new beta release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ steps.version.outputs.version }} name: ${{ steps.version.outputs.version }}
tag_name: ${{ github.ref_name }} tag_name: ${{ github.ref_name }}
draft: true draft: true
prerelease: true prerelease: true
files: SideStore.ipa files: SideStore.ipa
body: | body: |
<!-- NOTE: to reset SideSource cache, go to `https://apps.sidestore.io/reset-cache/nightly/<sidesource key>`. This is not included in the GitHub Action since it makes draft releases so they can be edited and have a changelog. --> <!-- NOTE: to reset SideSource cache, go to `https://apps.sidestore.io/reset-cache/nightly/<sidesource key>`. This is not included in the GitHub Action since it makes draft releases so they can be edited and have a changelog. -->
Beta builds are hand-picked builds from development commits that will allow you to try out new features earlier than normal. However, **they might contain bugs and other issues. Use at your own risk!** Beta builds are hand-picked builds from development commits that will allow you to try out new features earlier than normal. However, **they might contain bugs and other issues. Use at your own risk!**
## Changelog ## Changelog
- TODO - TODO
## Build Info ## Build Info
Built at (UTC): `${{ steps.date.outputs.date }}` Built at (UTC): `${{ steps.date.outputs.date }}`
Built at (UTC date): `${{ steps.date_altstore.outputs.date }}` Built at (UTC date): `${{ steps.date_sidestore.outputs.date }}`
Commit SHA: `${{ github.sha }}` Commit SHA: `${{ github.sha }}`
Version: `${{ steps.version.outputs.version }}` Version: `${{ steps.version.outputs.version }}`

View File

@@ -2,7 +2,7 @@ name: Nightly SideStore build
on: on:
push: push:
branches: branches:
- develop - develop
jobs: jobs:
build: build:
@@ -14,47 +14,47 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: 'macos-12' - os: 'macos-12'
version: '14.2' version: '14.2'
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
submodules: recursive submodules: recursive
- name: Install dependencies - name: Install dependencies
run: brew install ldid run: brew install ldid
- name: Cache .nightly-build-num - name: Cache .nightly-build-num
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: .nightly-build-num path: .nightly-build-num
key: nightly-build-num key: nightly-build-num
- name: Increase nightly build number and set as version - name: Increase nightly build number and set as version
run: bash .github/workflows/increase-nightly-build-num.sh run: bash .github/workflows/increase-nightly-build-num.sh
- 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: make build | xcpretty && exit ${PIPESTATUS[0]} run: make build | xcpretty && exit ${PIPESTATUS[0]}
- name: Fakesign app - name: Fakesign app
run: make fakesign run: make fakesign
- name: Convert to IPA - name: Convert to IPA
run: make ipa run: make ipa
- name: Upload SideStore.ipa Artifact - name: Upload SideStore.ipa Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
with: with:
name: SideStore.ipa name: SideStore.ipa
path: SideStore.ipa path: SideStore.ipa
- name: Upload *.dSYM Artifact - name: Upload *.dSYM Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
@@ -62,39 +62,39 @@ jobs:
name: SideStore-dSYM name: SideStore-dSYM
path: ./*.dSYM/ path: ./*.dSYM/
- name: Get version - name: Get version
id: version id: version
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
- name: Get current date - name: Get current date
id: date id: date
run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT
- name: Get current date in AltStore date form - name: Get current date in SideStore date form
id: date_altstore id: date_sidestore
run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Upload to nightly release - name: Upload to nightly release
uses: IsaacShelton/update-existing-release@v1.3.1 uses: IsaacShelton/update-existing-release@v1.3.1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
release: "Nightly" release: "Nightly"
tag: "nightly" tag: "nightly"
prerelease: true prerelease: true
files: SideStore.ipa files: SideStore.ipa
body: | body: |
This is an ⚠️ **EXPERIMENTAL** ⚠️ nightly build for commit [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }}). This is an ⚠️ **EXPERIMENTAL** ⚠️ nightly build for commit [${{ github.sha }}](https://github.com/${{ github.repository }}/commit/${{ github.sha }}).
Nightly builds are **extremely experimental builds only meant to be used by developers and alpha testers. They often contain bugs and experimental features. 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?q=beta).
## 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 }}`
- name: Reset cache for apps.sidestore.io/nightly Nightly builds are **extremely experimental builds only meant to be used by developers and alpha testers. They often contain bugs and experimental features. Use at your own risk!**
run: sleep 10 && curl https://apps.sidestore.io/reset-cache/nightly/${{ secrets.SIDESOURCE_KEY }}
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?q=beta).
## Build Info
Built at (UTC): `${{ steps.date.outputs.date }}`
Built at (UTC date): `${{ steps.date_sidestore.outputs.date }}`
Commit SHA: `${{ github.sha }}`
Version: `${{ steps.version.outputs.version }}`
- name: Reset cache for apps.sidestore.io/nightly
run: sleep 10 && curl https://apps.sidestore.io/reset-cache/nightly/${{ secrets.SIDESOURCE_KEY }}

View File

@@ -2,7 +2,7 @@ name: Stable SideStore build
on: on:
push: push:
tags: tags:
- '[0-9]+.[0-9]+.[0-9]+' # example: 1.0.0 - '[0-9]+.[0-9]+.[0-9]+' # example: 1.0.0
jobs: jobs:
build: build:
@@ -11,41 +11,41 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- os: 'macos-12' - os: 'macos-12'
version: '14.2' version: '14.2'
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
submodules: recursive submodules: recursive
- name: Install dependencies - name: Install dependencies
run: brew install ldid run: brew install ldid
- name: Change version to tag - name: Change version to tag
run: sed -e '/MARKETING_VERSION = .*/s/= .*/= ${{ github.ref_name }}/' -i '' Build.xcconfig run: sed -e '/MARKETING_VERSION = .*/s/= .*/= ${{ github.ref_name }}/' -i '' Build.xcconfig
- 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: make build | xcpretty && exit ${PIPESTATUS[0]} run: make build | xcpretty && exit ${PIPESTATUS[0]}
- name: Fakesign app - name: Fakesign app
run: make fakesign run: make fakesign
- name: Convert to IPA - name: Convert to IPA
run: make ipa run: make ipa
- name: Upload SideStore.ipa Artifact - name: Upload SideStore.ipa Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
with: with:
name: SideStore.ipa name: SideStore.ipa
path: SideStore.ipa path: SideStore.ipa
- name: Upload *.dSYM Artifact - name: Upload *.dSYM Artifact
uses: actions/upload-artifact@v3.1.0 uses: actions/upload-artifact@v3.1.0
@@ -53,35 +53,35 @@ jobs:
name: SideStore-dSYM name: SideStore-dSYM
path: ./*.dSYM/ path: ./*.dSYM/
- name: Get version - name: Get version
id: version id: version
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
- name: Get current date - name: Get current date
id: date id: date
run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT run: echo "date=$(date -u +'%c')" >> $GITHUB_OUTPUT
- name: Get current date in AltStore date form - name: Get current date in SideStore date form
id: date_altstore id: date_sidestore
run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT run: echo "date=$(date -u +'%Y-%m-%d')" >> $GITHUB_OUTPUT
- name: Upload to new stable release - name: Upload to new stable release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
name: ${{ steps.version.outputs.version }} name: ${{ steps.version.outputs.version }}
tag_name: ${{ github.ref_name }} tag_name: ${{ github.ref_name }}
draft: true draft: true
files: SideStore.ipa files: SideStore.ipa
body: | body: |
<!-- NOTE: to reset SideSource cache, go to `https://apps.sidestore.io/reset-cache/nightly/<sidesource key>`. This is not included in the GitHub Action since it makes draft releases so they can be edited and have a changelog. --> <!-- NOTE: to reset SideSource cache, go to `https://apps.sidestore.io/reset-cache/nightly/<sidesource key>`. This is not included in the GitHub Action since it makes draft releases so they can be edited and have a changelog. -->
## Changelog ## Changelog
- TODO - TODO
## Build Info ## Build Info
Built at (UTC): `${{ steps.date.outputs.date }}` Built at (UTC): `${{ steps.date.outputs.date }}`
Built at (UTC date): `${{ steps.date_altstore.outputs.date }}` Built at (UTC date): `${{ steps.date_sidestore.outputs.date }}`
Commit SHA: `${{ github.sha }}` Commit SHA: `${{ github.sha }}`
Version: `${{ steps.version.outputs.version }}` Version: `${{ steps.version.outputs.version }}`

View File

@@ -157,8 +157,8 @@ test:
## -- Building -- ## -- Building --
build: build:
@xcodebuild -project AltStore.xcodeproj \ @xcodebuild -project SideStore.xcodeproj \
-scheme AltStore \ -scheme SideStore \
-sdk iphoneos \ -sdk iphoneos \
archive -archivePath ./archive \ archive -archivePath ./archive \
CODE_SIGNING_REQUIRED=NO \ CODE_SIGNING_REQUIRED=NO \
@@ -169,8 +169,8 @@ build:
DWARF_DSYM_FOLDER_PATH="." DWARF_DSYM_FOLDER_PATH="."
fakesign: fakesign:
rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/AltStoreCore.framework/Frameworks/ rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/SideStoreCore.framework/Frameworks/
ldid -SAltStore/Resources/tempEnt.plist archive.xcarchive/Products/Applications/SideStore.app/SideStore ldid -SSideStoreApp/Sources/SideStore/Resources/tempEnt.plist archive.xcarchive/Products/Applications/SideStore.app/SideStore
ipa: ipa:
mkdir Payload mkdir Payload

View File

@@ -1,12 +1,21 @@
{ {
"pins" : [ "pins" : [
{
"identity" : "aexml",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tadija/AEXML",
"state" : {
"revision" : "54bb8ea6fb693dd3f92a89e5fcc19e199fdeedd0",
"version" : "4.3.3"
}
},
{ {
"identity" : "altsign", "identity" : "altsign",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
"location" : "https://github.com/SideStore/AltSign", "location" : "https://github.com/SideStore/AltSign",
"state" : { "state" : {
"revision" : "9c63397f0fc6038c04b930dd2d10b030d508d6fa", "revision" : "eb4c74dcf6be2fb00a3edc0381aae59fbbdb4cf3",
"version" : "1.0.2" "version" : "1.0.3"
} }
}, },
{ {
@@ -27,6 +36,15 @@
"revision" : "e754ab1c80920dd51a8e08290c912ac1c2ac8b58" "revision" : "e754ab1c80920dd51a8e08290c912ac1c2ac8b58"
} }
}, },
{
"identity" : "ignore",
"kind" : "remoteSourceControl",
"location" : "https://github.com/IgorMuzyka/ignore",
"state" : {
"revision" : "49780cf3d46053eb40f4c425a46aaaf662f0665c",
"version" : "0.0.2"
}
},
{ {
"identity" : "imobiledevice.swift", "identity" : "imobiledevice.swift",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -54,6 +72,15 @@
"version" : "4.2.2" "version" : "4.2.2"
} }
}, },
{
"identity" : "logger",
"kind" : "remoteSourceControl",
"location" : "https://github.com/f-meloni/Logger",
"state" : {
"revision" : "53c3ecca5abe8cf46697e33901ee774236d94cce",
"version" : "0.2.3"
}
},
{ {
"identity" : "matchable", "identity" : "matchable",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -81,6 +108,33 @@
"version" : "1.1.2000" "version" : "1.1.2000"
} }
}, },
{
"identity" : "packagebuildinfo",
"kind" : "remoteSourceControl",
"location" : "https://github.com/DimaRU/PackageBuildInfo",
"state" : {
"branch" : "master",
"revision" : "7fe63ad12b50bad5d86e6abaef5a944f931ce765"
}
},
{
"identity" : "packageconfig",
"kind" : "remoteSourceControl",
"location" : "https://github.com/orta/PackageConfig.git",
"state" : {
"revision" : "bf90dc69fa0792894b08a0b74cf34029694ae486",
"version" : "0.13.0"
}
},
{
"identity" : "pathkit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kylef/PathKit",
"state" : {
"revision" : "e2f5be30e4c8f531c9c1e8765aa7b71c0a45d7a0",
"version" : "0.9.2"
}
},
{ {
"identity" : "plcrashreporter", "identity" : "plcrashreporter",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -108,6 +162,15 @@
"version" : "1.3.2" "version" : "1.3.2"
} }
}, },
{
"identity" : "secretsmanager",
"kind" : "remoteSourceControl",
"location" : "https://github.com/vdka/SecretsManager.git",
"state" : {
"revision" : "7e7eb0304726a2d9788432a3b90d79817ce2f6e1",
"version" : "1.1.1"
}
},
{ {
"identity" : "semanticversion", "identity" : "semanticversion",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -126,6 +189,60 @@
"version" : "0.1.0" "version" : "0.1.0"
} }
}, },
{
"identity" : "spectre",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kylef/Spectre.git",
"state" : {
"revision" : "f79d4ecbf8bc4e1579fbd86c3e1d652fb6876c53",
"version" : "0.9.2"
}
},
{
"identity" : "swift-argument-parser",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-argument-parser",
"state" : {
"revision" : "fee6933f37fde9a5e12a1e4aeaa93fe60116ff2a",
"version" : "1.2.2"
}
},
{
"identity" : "swift-docc-plugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-docc-plugin",
"state" : {
"revision" : "10bc670db657d11bdd561e07de30a9041311b2b1",
"version" : "1.1.0"
}
},
{
"identity" : "swift-docc-symbolkit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/apple/swift-docc-symbolkit",
"state" : {
"revision" : "b45d1f2ed151d057b54504d653e0da5552844e34",
"version" : "1.0.0"
}
},
{
"identity" : "swift-secret-keys",
"kind" : "remoteSourceControl",
"location" : "https://github.com/simorgh3196/swift-secret-keys",
"state" : {
"revision" : "d156d039bea258466a2bbc0046936867db1a0915",
"version" : "0.1.0"
}
},
{
"identity" : "swiftlintplugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/lukepistrol/SwiftLintPlugin",
"state" : {
"revision" : "f69b412a765396d44dc9f4788a5b79919c1ca9e3",
"version" : "0.2.2"
}
},
{ {
"identity" : "swiftpmplugins", "identity" : "swiftpmplugins",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -135,6 +252,15 @@
"version" : "1.0.0" "version" : "1.0.0"
} }
}, },
{
"identity" : "swiftshell",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kareman/SwiftShell",
"state" : {
"revision" : "beebe43c986d89ea5359ac3adcb42dac94e5e08a",
"version" : "4.1.2"
}
},
{ {
"identity" : "versionator", "identity" : "versionator",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -144,6 +270,15 @@
"version" : "1.0.3" "version" : "1.0.3"
} }
}, },
{
"identity" : "xcodeproj",
"kind" : "remoteSourceControl",
"location" : "https://github.com/tuist/xcodeproj.git",
"state" : {
"revision" : "065f348754b6155b8037dc43876a8f2ee354b95d",
"version" : "6.7.0"
}
},
{ {
"identity" : "xctestextensions", "identity" : "xctestextensions",
"kind" : "remoteSourceControl", "kind" : "remoteSourceControl",
@@ -152,6 +287,15 @@
"revision" : "39694671be8bea1ab0bbd87114705b2a92567a8e", "revision" : "39694671be8bea1ab0bbd87114705b2a92567a8e",
"version" : "1.5.0" "version" : "1.5.0"
} }
},
{
"identity" : "yams",
"kind" : "remoteSourceControl",
"location" : "https://github.com/jpsim/Yams",
"state" : {
"revision" : "f47ba4838c30dbd59998a4e4c87ab620ff959e8a",
"version" : "5.0.5"
}
} }
], ],
"version" : 2 "version" : 2