Skip to content

feat: cicd workflow to build the project #4

feat: cicd workflow to build the project

feat: cicd workflow to build the project #4

Workflow file for this run

name: Xcode Build
on:
push:
branches: ["main"]
paths:
- "DropMeJPEG/**"
- "DropMeJPEG.xcodeproj/**"
- ".github/workflows/build.yml" # This file
pull_request:
paths:
- "DropMeJPEG/**"
- "DropMeJPEG.xcodeproj/**"
- ".github/workflows/build.yml" # This file
jobs:
build:
name: Build and analyze default scheme using xcodebuild command
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Default Scheme
run: |
scheme_list=$(xcodebuild -list -json | tr -d "\n")
default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]")
echo $default | cat >default
echo Using default scheme: $default
- name: Build App
run: |
xcodebuild clean build \
-sdk macosx \
-configuration Release \
-derivedDataPath build
- name: Create DMG
run: |
hdiutil create -volname DropMeJPEG -srcfolder build/Release/DropMeJPEG.app build/DropMeJPEG.dmg
- name: Upload DMG
uses: actions/upload-artifact@v4
with:
name: DropMeJPEG.dmg
path: build/DropMeJPEG.dmg