name: Beta SideStore build on: push: tags: - '[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' # example: 1.0.0-beta.1 jobs: build: name: Build and upload SideStore Beta 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: Install dependencies run: brew install ldid - name: Change version to tag run: sed -e '/MARKETING_VERSION = .*/s/= .*/= ${{ github.ref_name }}/' -i '' Build.xcconfig - name: Change default icon to beta icon run: sed -e 's/= Neon/= Starburst/' -i '' ./AltStore.xcodeproj/project.pbxproj - name: Get version id: version run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT - name: Echo version run: echo "${{ steps.version.outputs.version }}" - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1.4.1 with: xcode-version: ${{ matrix.version }} - name: "[Normal] Build SideStore, fakesign app and convert to IPA" run: | make build | xcpretty make fakesign make ipa - name: Enable MDC run: make enable_mdc - name: "[MDC] Build SideStore, fakesign app and convert to IPA" run: | make clean make build DSYM_FOLDER=./MDC-dSYM | xcpretty make fakesign make ipa IPA_NAME=SideStore-MDC.ipa - 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 new beta release uses: softprops/action-gh-release@v1 with: token: ${{ secrets.GITHUB_TOKEN }} name: ${{ steps.version.outputs.version }} tag_name: ${{ github.ref_name }} draft: true prerelease: true files: | SideStore.ipa SideStore-MDC.ipa body: | 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 - TODO ## 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: Add version to IPA file name run: mv SideStore.ipa SideStore-${{ steps.version.outputs.version }}.ipa - name: Add version to MDC IPA file name run: mv SideStore-MDC.ipa SideStore-MDC-${{ steps.version.outputs.version }}.ipa - name: Upload SideStore.ipa Artifact uses: actions/upload-artifact@v3.1.0 with: name: SideStore-${{ steps.version.outputs.version }}.ipa path: SideStore-${{ steps.version.outputs.version }}.ipa - name: Upload SideStore-MDC.ipa Artifact uses: actions/upload-artifact@v3.1.0 with: name: SideStore-MDC-${{ steps.version.outputs.version }}.ipa path: SideStore-MDC-${{ steps.version.outputs.version }}.ipa - name: Upload dSYM Artifact uses: actions/upload-artifact@v3.1.0 with: name: SideStore-${{ steps.version.outputs.version }}-dSYM path: ./dSYM/* - name: Upload MDC-dSYM Artifact uses: actions/upload-artifact@v3.1.0 with: name: SideStore-MDC-${{ steps.version.outputs.version }}-dSYM path: ./MDC-dSYM/*