Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[iOS] 여정 목록에 release 브랜치 dump #138

Merged
18 commits merged into from
Nov 30, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
da5e055
:package: 앱 타겟에서 사용되지 않는 Package Dependency 제거
SwiftyJunnos Nov 28, 2023
65af179
Workspace 세팅 Cherry-Pick
SwiftyJunnos Nov 27, 2023
e2ca972
:construction_worker: CI 적용
SwiftyJunnos Nov 28, 2023
2237f0a
:package: Workspace 세팅, Feature 패키지 생성
SwiftyJunnos Nov 28, 2023
8b0842f
:package: commit script에 추가된 패키지 추가
SwiftyJunnos Nov 28, 2023
8e0c115
:package: SpotView 패키지 이름 Spot으로 수정
SwiftyJunnos Nov 28, 2023
a5f0d30
:package: RewindJourneyView ➡️ RewindJourney로 패키지 이름 변경
SwiftyJunnos Nov 28, 2023
710e9f9
:package: 흔적만 있는 패키지 새로 생성
SwiftyJunnos Nov 28, 2023
63230d7
:art: 빌드 가능하도록 수정
SwiftyJunnos Nov 28, 2023
1c2e4f2
Merge pull request #129 from boostcampwm2023/iOS/task/Workspace-Setup
SwiftyJunnos Nov 28, 2023
b9c2450
:truck: Workspace의 Feature들을 그룹화
SwiftyJunnos Nov 28, 2023
b068a58
:package: Dependency를 통한 패키지 관리
SwiftyJunnos Nov 29, 2023
7088ba5
:package: Workspace에 Test 타겟 추가
SwiftyJunnos Nov 29, 2023
37fad58
:package: 앱 타겟에서 Core, Foundation, UIKit 패키지 Dependency 제거
SwiftyJunnos Nov 29, 2023
08ea4ee
:construction_worker: test without build ➡️ test
SwiftyJunnos Nov 29, 2023
5b28fd4
:truck: 각 Feature에 Demo 앱 프로젝트 생성
SwiftyJunnos Nov 29, 2023
a51236e
Merge pull request #131 from boostcampwm2023/iOS/task/Workspace-Setup
SwiftyJunnos Nov 30, 2023
48567b5
Merge pull request #137 from boostcampwm2023/iOS/epic/Workspace-Setup
SwiftyJunnos Nov 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 44 additions & 48 deletions .github/workflows/Xcode_build_test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Xcode_build_test

env:
PACKAGES_JSON: '["MSCoreKit", "MSFoundation", "MSUIKit"]'
WORKSPACE: iOS/MusicSpot.xcworkspace

on:
pull_request:
Expand All @@ -14,7 +14,7 @@ jobs:
prepare-matrix:
runs-on: macos-13
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
matrix: ${{ steps.generate-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@v4

Expand All @@ -24,45 +24,21 @@ jobs:
with:
xcode-version: '15.0.1'

- name: Install jq
run: brew install jq

- name: Generate matrix
id: set-matrix
id: generate-matrix
run: |
cd iOS
matrix="{\"include\":["
packages=$(echo $PACKAGES_JSON | jq -r '.[]')
first_entry=true
for package in $packages; do
cd $package
for scheme in $(xcodebuild -list | grep -E '^[[:space:]]*Schemes:' -A 10 | tail -n +2 | grep -v '^$'); do
if [[ $scheme != *"-Package" ]] && [[ $scheme != *"Tests" ]]; then
if [ "$first_entry" = true ]; then
first_entry=false
else
matrix+=","
fi
matrix+="{\"package\":\"$package\", \"scheme\":\"$scheme\"}"
for scheme in $(xcodebuild -workspace ${{ env.WORKSPACE }} -list | grep -A 100 "Schemes:" | grep -v "Schemes:" | sed '/^$/d' | sed 's/^[ \t]*//'); do
if [[ $scheme != *"-Package" ]] && [[ $scheme != *"Tests" ]]; then
if [ "$first_entry" = true ]; then
first_entry=false
else
matrix+=","
fi
done
cd ..
matrix+="{\"scheme\":\"$scheme\"}"
fi
done
# cd Features
# for package in JourneyList SaveJourney; do
# cd $package
# for scheme in $(xcodebuild -list | grep -E '^[[:space:]]*Schemes:' -A 10 | tail -n +2 | grep -v '^$'); do
# if [[ $scheme != *"-Package" ]]; then
# if [ "$first_entry" = true ]; then
# first_entry=false
# else
# matrix+=","
# fi
# matrix+="{\"package\":\"$package\", \"scheme\":\"$scheme\"}"
# fi
# done
# cd ..
# done
matrix+="]}"
echo "matrix=$matrix" >> $GITHUB_OUTPUT

Expand All @@ -82,11 +58,10 @@ jobs:
xcode-version: '15.0.1'

- name: 🛠️ Build ${{ matrix.scheme }}
if: ${{ !contains(matrix.scheme, 'Tests') }}
run: |
echo "🛠️ Building ${{ matrix.package }} - Scheme: ${{ matrix.scheme }}"
cd iOS/${{ matrix.package }}
echo "🛠️ Building ${{ matrix.scheme }}"
xcodebuild \
-workspace ${{ env.WORKSPACE }} \
-scheme ${{ matrix.scheme }} \
-sdk 'iphonesimulator' \
-destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \
Expand All @@ -95,12 +70,33 @@ jobs:
prepare-test-matrix:
runs-on: macos-13
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
matrix: ${{ steps.generate-test-matrix.outputs.matrix }}
steps:
- id: set-matrix
run: |
matrix="{\"package\": $PACKAGES_JSON}"
echo "matrix=$matrix" >> $GITHUB_OUTPUT
- uses: actions/checkout@v4

- name: Setup Xcode
if: ${{ !env.ACT }}
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0.1'

- name: Generate test matrix
id: generate-test-matrix
run: |
matrix="{\"include\":["
first_entry=true
for scheme in $(xcodebuild -workspace ${{ env.WORKSPACE }} -list | grep -A 100 "Schemes:" | grep -v "Schemes:" | sed '/^$/d' | sed 's/^[ \t]*//'); do
if [[ $scheme == *"Tests" ]]; then
if [ "$first_entry" = true ]; then
first_entry=false
else
matrix+=","
fi
matrix+="{\"scheme\":\"$scheme\"}"
fi
done
matrix+="]}"
echo "matrix=$matrix" >> $GITHUB_OUTPUT

xcode-test:
needs: prepare-test-matrix
Expand All @@ -117,12 +113,12 @@ jobs:
with:
xcode-version: '15.0.1'

- name: 🧪 Test ${{ matrix.package }}
- name: 🧪 Test ${{ matrix.scheme }}
run: |
echo "🧪 Testing ${{ matrix.package }}"
cd iOS/${{ matrix.package }}
echo "🧪 Testing ${{ matrix.scheme }}"
xcodebuild \
-scheme ${{ matrix.package }}-Package \
-workspace ${{ env.WORKSPACE }} \
-scheme ${{ matrix.scheme }} \
-sdk 'iphonesimulator' \
-destination 'platform=iOS Simulator,OS=17.0.1,name=iPhone 15 Pro' \
clean test
test
8 changes: 8 additions & 0 deletions iOS/Features/Home/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.DS_Store
/.build
/Packages
xcuserdata/
DerivedData/
.swiftpm/configuration/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "NavigateMap"
BuildableName = "NavigateMap"
BlueprintName = "NavigateMap"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "NavigateMap"
BuildableName = "NavigateMap"
BlueprintName = "NavigateMap"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1500"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "RecordJourney"
BuildableName = "RecordJourney"
BlueprintName = "RecordJourney"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "RecordJourney"
BuildableName = "RecordJourney"
BlueprintName = "RecordJourney"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Loading