-
Notifications
You must be signed in to change notification settings - Fork 0
146 lines (128 loc) · 4.55 KB
/
ci-tuist-build-github_hosted.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Leka - iOS Monorepo
# Copyright APF France handicap
# SPDX-License-Identifier: Apache-2.0
name: Tuist - Build (GitHub Hosted)
on:
push:
branches:
- develop
paths:
- "**/*.swift"
- ".mise.toml"
pull_request:
types: [opened, synchronize, reopened]
paths:
- "**/*.swift"
- ".mise.toml"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
TUIST_TURN_OFF_LINTERS: TRUE
TUIST_GENERATE_EXAMPLE_TARGETS: TRUE
TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG: FALSE
jobs:
build:
name: build
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
TUIST_DEVELOPER_MODE: [TRUE, FALSE]
permissions:
pull-requests: write
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/workflow-telemetry-action@v2
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Setup mise
uses: jdx/mise-action@v2
with:
version: 2024.12.4
install: true
cache: true
- name: tuist version
run: |
which tuist
tuist version
- name: Cache Xcode derived data
uses: irgaly/xcode-cache@v1
with:
key: xcode-cache-tuist_build_github_hosted-DEVELOPER_MODE_${{ matrix.TUIST_DEVELOPER_MODE }}-${{ github.sha }}
restore-keys: |
xcode-cache-tuist_build_github_hosted-DEVELOPER_MODE_${{ matrix.TUIST_DEVELOPER_MODE }}-
xcode-cache-tuist_build_github_hosted-
xcode-cache-
delete-used-deriveddata-cache: true
swiftpm-package-resolved-file: Tuist/Package.resolved
use-default-mtime-targets: true
restore-mtime-targets: |
**/*.bin
**/*.gif
**/*.jpeg
**/*.jpg
**/*.mid
**/*.mp3
**/*.pdf
**/*.png
**/*.svg
**/*.wav
**/*.json
**/*.xcstrings
**/*.mp4
**/*.yml
- name: Cache SPM data
uses: actions/cache@v4
with:
path: |
~/Library/Caches/org.swift.swiftpm
~/Library/org.swift.swiftpm
key: spm-cache-tuist_build_github_hosted-DEVELOPER_MODE_${{ matrix.TUIST_DEVELOPER_MODE }}-${{ github.sha }}
restore-keys: |
spm-cache-tuist_build_github_hosted-DEVELOPER_MODE_${{ matrix.TUIST_DEVELOPER_MODE }}-
spm-cache-tuist_build_github_hosted-
spm-cache-
- name: Cache tuist data
uses: actions/cache@v4
with:
path: |
Tuist/.build/artifacts
Tuist/.build/checkouts
Tuist/.build/derived
Tuist/.build/workspace-state.json
key: spm-cache-tuist_build_github_hosted-DEVELOPER_MODE_${{ matrix.TUIST_DEVELOPER_MODE }}-${{ github.sha }}
restore-keys: |
spm-cache-tuist_build_github_hosted-DEVELOPER_MODE_${{ matrix.TUIST_DEVELOPER_MODE }}-
spm-cache-tuist_build_github_hosted-
spm-cache-
- name: restore files' mtime
uses: chetan/git-restore-mtime-action@v2
- name: Config Xcode
run: |
xcodes select 16.1
defaults write com.apple.dt.XCBuild IgnoreFileSystemDeviceInodeChanges -bool YES
- name: tuist install
run: |
TUIST_TURN_OFF_LINTERS=${{ env.TUIST_TURN_OFF_LINTERS }} \
TUIST_GENERATE_EXAMPLE_TARGETS=${{ env.TUIST_GENERATE_EXAMPLE_TARGETS }} \
TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG=${{ env.TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG }} \
TUIST_DEVELOPER_MODE=${{ matrix.TUIST_DEVELOPER_MODE }} \
tuist install
- name: tuist generate
run: |
TUIST_TURN_OFF_LINTERS=${{ env.TUIST_TURN_OFF_LINTERS }} \
TUIST_GENERATE_EXAMPLE_TARGETS=${{ env.TUIST_GENERATE_EXAMPLE_TARGETS }} \
TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG=${{ env.TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG }} \
TUIST_DEVELOPER_MODE=${{ matrix.TUIST_DEVELOPER_MODE }} \
tuist generate --no-open
- name: tuist build
run: |
TUIST_TURN_OFF_LINTERS=${{ env.TUIST_TURN_OFF_LINTERS }} \
TUIST_GENERATE_EXAMPLE_TARGETS=${{ env.TUIST_GENERATE_EXAMPLE_TARGETS }} \
TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG=${{ env.TUIST_GENERATE_MODULES_AS_FRAMEWORKS_FOR_DEBUG }} \
TUIST_DEVELOPER_MODE=${{ matrix.TUIST_DEVELOPER_MODE }} \
tuist build