Skip to content

Commit

Permalink
Merge pull request #241 from Team-Ampersand/229-tuist-version-upgrade
Browse files Browse the repository at this point in the history
🔀 :: [#229] Tuist 버전 업그레이드
  • Loading branch information
uuuunseo authored Apr 22, 2024
2 parents 1c6e18e + 5fe1b90 commit 70c46ab
Show file tree
Hide file tree
Showing 10 changed files with 277 additions and 63 deletions.
22 changes: 13 additions & 9 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,20 @@ env:
jobs:
prepare-dependency:
name: ⚙️ Prepare for CI
runs-on: macos-latest
runs-on: macos-14

steps:
- uses: actions/checkout@v2
- uses: jdx/mise-action@v2
with:
xcode-version: 15.2

- name: Install tuist
run: curl -Ls https://install.tuist.io | bash
run: mise install tuist

- name: Compute dependency cache key
id: compute_hash
run: echo "hash=${{ hashFiles('Tuist/Dependencies.swift') }}" >> $GITHUB_OUTPUT
run: echo "hash=${{ hashFiles('Tuist/Package.swift') }}" >> $GITHUB_OUTPUT

- name: Check dependency cache
uses: actions/cache@v3
Expand All @@ -39,22 +42,23 @@ jobs:

- name: Install dependencies
if: steps.cache_dependencies.outputs.cache-hit == ''
run: tuist fetch
run: tuist install
outputs:
dependency_cache_key: ${{ steps.compute_hash.outputs.hash }}

test:
name: 🧪 Test
runs-on: macos-latest
runs-on: macos-14
needs: prepare-dependency

steps:
- uses: actions/checkout@v2
with:
xcode-version: latest
xcode-version: 15.2
- uses: jdx/mise-action@v2

- name: Install tuist
run: curl -Ls https://install.tuist.io | bash
run: mise install tuist

- name: Check dependency cache
uses: actions/cache@v3
Expand All @@ -68,10 +72,10 @@ jobs:

- name: Install dependencies
if: steps.cache_dependencies.outputs.cache-hit != 'true'
run: tuist fetch
run: tuist install

- name: Test with tuist
run: TUIST_ENV=CI tuist test
run: TUIST_ENV=CI tuist test --no-selective-testing

- name: Dotori iOS Test Success Discord Notification
uses: sarisia/actions-status-discord@v1
Expand Down
2 changes: 2 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[tools]
tuist = "4.8.1"
1 change: 0 additions & 1 deletion .tuist-version

This file was deleted.

8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
generate:
tuist fetch
tuist install
tuist generate

ci_generate:
tuist fetch
tuist install
TUIST_ENV=CI tuist generate

clean:
rm -rf **/*.xcodeproj
rm -rf *.xcworkspace

reset:
tuist clean
mise exec -- tuist clean
rm -rf **/*.xcodeproj
rm -rf *.xcworkspace

Expand All @@ -28,4 +28,4 @@ signing:
swift Scripts/CodeSigning.swift

setup:
sh Scripts/Setup.sh
sh Scripts/Setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import ProjectDescription
public struct ProjectEnvironment {
public let name: String
public let organizationName: String
public let deploymentTarget: DeploymentTarget
public let platform: Platform
public let deploymentTargets: DeploymentTargets
public let destination: Set<Destination>
public let baseSetting: SettingsDictionary
}

public let env = ProjectEnvironment(
name: "Dotori",
organizationName: "com.msg",
deploymentTarget: .iOS(targetVersion: "15.0", devices: [.iphone, .ipad]),
platform: .iOS,
deploymentTargets: .iOS("15.0"),
destination: .iOS,
baseSetting: [:]
)
18 changes: 9 additions & 9 deletions Projects/App/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ let settings: Settings =
let scripts: [TargetScript] = generateEnvironment.scripts

let targets: [Target] = [
.init(
.target(
name: env.name,
platform: env.platform,
destinations: env.destination,
product: .app,
bundleId: "\(env.organizationName).\(env.name)",
deploymentTarget: env.deploymentTarget,
deploymentTargets: env.deploymentTargets,
infoPlist: .file(path: "Support/Info.plist"),
sources: ["Sources/**"],
resources: ["Resources/**"],
Expand All @@ -42,12 +42,12 @@ let targets: [Target] = [
base: env.baseSetting
)
),
.init(
.target(
name: "\(env.name)ShareExtension",
platform: .iOS,
destinations: .iOS,
product: .appExtension,
bundleId: "\(env.organizationName).\(env.name).share",
deploymentTarget: env.deploymentTarget,
deploymentTargets: env.deploymentTargets,
infoPlist: .file(path: "ShareExtension/Support/Info.plist"),
sources: ["ShareExtension/Sources/**"],
resources: ["ShareExtension/Resources/**"],
Expand All @@ -67,7 +67,7 @@ let targets: [Target] = [
]

let schemes: [Scheme] = [
.init(
.scheme(
name: "\(env.name)-DEV",
shared: true,
buildAction: .buildAction(targets: ["\(env.name)"]),
Expand All @@ -76,7 +76,7 @@ let schemes: [Scheme] = [
profileAction: .profileAction(configuration: .dev),
analyzeAction: .analyzeAction(configuration: .dev)
),
.init(
.scheme(
name: "\(env.name)-STAGE",
shared: true,
buildAction: .buildAction(targets: ["\(env.name)"]),
Expand All @@ -85,7 +85,7 @@ let schemes: [Scheme] = [
profileAction: .profileAction(configuration: .stage),
analyzeAction: .analyzeAction(configuration: .stage)
),
.init(
.scheme(
name: "\(env.name)-PROD",
shared: true,
buildAction: .buildAction(targets: ["\(env.name)"]),
Expand Down
167 changes: 167 additions & 0 deletions Tuist/Package.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"pins" : [
{
"identity" : "anim",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/Anim.git",
"state" : {
"revision" : "af643ad132b62f46af804f9a59766fd1ab59be83",
"version" : "1.1.0"
}
},
{
"identity" : "configure",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/Configure.git",
"state" : {
"revision" : "60784ac8215d0c42b8b1d0964743dc5abadb39bd",
"version" : "1.0.1"
}
},
{
"identity" : "emdpoint",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/Emdpoint.git",
"state" : {
"revision" : "38fdc843517ec1dbc593d9d80f440dff5629dc7f",
"version" : "3.5.0"
}
},
{
"identity" : "grdb.swift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/groue/GRDB.swift.git",
"state" : {
"revision" : "77b85bed259b7f107710a0b78c439b1c5839dc45",
"version" : "6.26.0"
}
},
{
"identity" : "inject",
"kind" : "remoteSourceControl",
"location" : "https://github.com/krzysztofzablocki/Inject.git",
"state" : {
"revision" : "d394c5327141ba490a13080147af7228ee77aa59",
"version" : "1.4.0"
}
},
{
"identity" : "iqkeyboardmanager",
"kind" : "remoteSourceControl",
"location" : "https://github.com/hackiftekhar/IQKeyboardManager.git",
"state" : {
"revision" : "c00b1ae9fa1ad8af4465bb6ca901f6943fc98eba",
"version" : "6.5.16"
}
},
{
"identity" : "lottie-ios",
"kind" : "remoteSourceControl",
"location" : "https://github.com/airbnb/lottie-ios.git",
"state" : {
"revision" : "7fe8b6f697ae7db4bf0df270119592cb5d502848",
"version" : "4.4.1"
}
},
{
"identity" : "miniature",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/Miniature.git",
"state" : {
"revision" : "cf81bfdb2355a096253080969b8cfda02adeaf63",
"version" : "1.3.1"
}
},
{
"identity" : "moordinator",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/Moordinator.git",
"state" : {
"revision" : "bdad57eef28eeb9340f91b7ead0bb8f55a122d62",
"version" : "2.2.0"
}
},
{
"identity" : "msglayout",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/MSGLayout.git",
"state" : {
"revision" : "86810bb67d31570531e0e94b840d959cb0760a22",
"version" : "1.3.0"
}
},
{
"identity" : "neiswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/baekteun/NeiSwift.git",
"state" : {
"revision" : "b97342fc54412dfc7d976682e6cb7ed05588245f",
"version" : "2.0.2"
}
},
{
"identity" : "nuke",
"kind" : "remoteSourceControl",
"location" : "https://github.com/kean/Nuke.git",
"state" : {
"revision" : "4625c73ea00a9fb4b4f3e28d95d0021a44af7e59",
"version" : "12.5.0"
}
},
{
"identity" : "prynttrimmerview",
"kind" : "remoteSourceControl",
"location" : "https://github.com/HHK1/PryntTrimmerView",
"state" : {
"revision" : "ac1b60a22c7e6a6514de7a66d2f3d5b537c956d5",
"version" : "4.0.2"
}
},
{
"identity" : "rxswift",
"kind" : "remoteSourceControl",
"location" : "https://github.com/ReactiveX/RxSwift.git",
"state" : {
"revision" : "9dcaa4b333db437b0fbfaf453fad29069044a8b4",
"version" : "6.6.0"
}
},
{
"identity" : "stevia",
"kind" : "remoteSourceControl",
"location" : "https://github.com/freshOS/Stevia",
"state" : {
"revision" : "cfb1a1d2159277bb553c3dc46f3f742c0275566d",
"version" : "5.1.2"
}
},
{
"identity" : "store",
"kind" : "remoteSourceControl",
"location" : "https://github.com/GSM-MSG/Store.git",
"state" : {
"revision" : "0324714d618b90bc9d99ee66ec1ce157fd043117",
"version" : "1.0.1"
}
},
{
"identity" : "swinject",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Swinject/Swinject.git",
"state" : {
"revision" : "463cb2d659c8ae34899d18057ea5b1bb86fc3178",
"version" : "2.8.4"
}
},
{
"identity" : "ypimagepicker",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Yummypets/YPImagePicker.git",
"state" : {
"revision" : "2db04eb020e3ef03828d3207d85250e110fa5919",
"version" : "5.2.2"
}
}
],
"version" : 2
}
42 changes: 42 additions & 0 deletions Tuist/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// swift-tools-version: 5.7
import PackageDescription

#if TUIST
import ProjectDescription
import ProjectDescriptionHelpers

let packageSettings = PackageSettings(
productTypes: [
"Moordinator": .framework,
"CombineMiniature": .framework
],
baseSettings: .settings(
configurations: [
.debug(name: .dev),
.debug(name: .stage),
.release(name: .prod)
]
)
)
#endif

let package = Package(
name: "Dotori",
dependencies: [
.package(url: "https://github.com/Yummypets/YPImagePicker.git", from: "5.2.2"),
.package(url: "https://github.com/airbnb/lottie-ios.git", from: "4.2.0"),
.package(url: "https://github.com/kean/Nuke.git", from: "12.1.4"),
.package(url: "https://github.com/GSM-MSG/Anim.git", from: "1.1.0"),
.package(url: "https://github.com/GSM-MSG/Miniature.git", from: "1.3.1"),
.package(url: "https://github.com/baekteun/NeiSwift.git", from: "2.0.2"),
.package(url: "https://github.com/krzysztofzablocki/Inject.git", from: "1.2.3"),
.package(url: "https://github.com/groue/GRDB.swift.git", from: "6.15.1"),
.package(url: "https://github.com/hackiftekhar/IQKeyboardManager.git", from: "6.5.11"),
.package(url: "https://github.com/GSM-MSG/Store.git", from: "1.0.1"),
.package(url: "https://github.com/GSM-MSG/Moordinator.git", from: "2.2.0"),
.package(url: "https://github.com/GSM-MSG/Emdpoint.git", from: "3.4.0"),
.package(url: "https://github.com/GSM-MSG/MSGLayout.git", from: "1.3.0"),
.package(url: "https://github.com/Swinject/Swinject.git", from: "2.8.4"),
.package(url: "https://github.com/GSM-MSG/Configure.git", from: "1.0.1")
]
)
Loading

0 comments on commit 70c46ab

Please sign in to comment.