Skip to content

Commit

Permalink
Add GitHub Actions workflow for automated build and release of DanceK…
Browse files Browse the repository at this point in the history
…unKun app. This includes steps for checking out the code, setting up Xcode, installing Tuist, generating the Xcode project, building the app, creating a DMG, generating source archives, and generating checksums. The workflow triggers on version tag pushes.
  • Loading branch information
ygsgdbd committed Dec 10, 2024
1 parent 89e65f7 commit 7328c0d
Showing 1 changed file with 89 additions and 0 deletions.
89 changes: 89 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: Build and Release

on:
push:
tags:
- 'v*'

permissions:
contents: write
discussions: write

jobs:
build:
name: Build and Release
runs-on: macos-14

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16.1'

- name: Install Tuist
run: |
brew install tuist
- name: Generate Xcode Project
run: |
tuist generate --no-open
- name: Build App
run: |
xcodebuild \
-workspace DanceKunKun.xcworkspace \
-scheme DanceKunKun \
-configuration Release \
-derivedDataPath ./DerivedData \
-arch arm64 -arch x86_64 \
clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
- name: Create DMG
run: |
brew install create-dmg
create-dmg \
--volname "DanceKunKun" \
--window-size 500 300 \
--icon-size 100 \
--icon "DanceKunKun.app" 150 150 \
--app-drop-link 350 150 \
--no-internet-enable \
"DanceKunKun.dmg" \
"DerivedData/Build/Products/Release/DanceKunKun.app"
- name: Create Source Archives
run: |
zip -r "DanceKunKun-${{ github.ref_name }}-src.zip" . \
-x "*.git*" -x "build/*" -x "*.xcodeproj/*" -x "*.xcworkspace/*" -x "*.dmg" -x "DerivedData/*"
- name: Generate Checksums
run: |
echo "### DanceKunKun ${{ github.ref_name }}" > checksums.txt
echo "" >> checksums.txt
echo "- Universal Binary (Apple Silicon + Intel)" >> checksums.txt
echo "- macOS 13.0+" >> checksums.txt
echo "" >> checksums.txt
echo "### SHA-256 Checksums" >> checksums.txt
echo "\`\`\`" >> checksums.txt
shasum -a 256 DanceKunKun.dmg "DanceKunKun-${{ github.ref_name }}-src.zip" >> checksums.txt
echo "\`\`\`" >> checksums.txt
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
files: |
DanceKunKun.dmg
DanceKunKun-${{ github.ref_name }}-src.zip
checksums.txt
body_path: checksums.txt
draft: false
prerelease: ${{ contains(github.ref, '-beta') || contains(github.ref, '-alpha') }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit 7328c0d

Please sign in to comment.