-
Notifications
You must be signed in to change notification settings - Fork 22
133 lines (130 loc) · 3.2 KB
/
XcodeGraph.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
name: XcodeGraph
on:
push:
branches:
- "**"
tags-ignore:
- "**"
paths:
- "**/*.swift"
- ".github/workflows/*.yml"
pull_request:
paths:
- "**/*.swift"
- ".github/workflows/*.yml"
concurrency:
group: XcodeGraph-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
MISE_EXPERIMENTAL: 1
TUIST_CONFIG_TOKEN: ${{ secrets.TUIST_CONFIG_CLOUD_TOKEN }}
jobs:
spm_test:
name: SPM Test
strategy:
matrix:
os:
- ubuntu-22.04
- macos-15
swift-version:
- "5.9"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup Swift
if: matrix.os == 'ubuntu-22.04'
uses: SwiftyLab/setup-swift@latest
with:
swift-version: ${{ matrix.swift-version }}
# DEBUG mode
- name: Build with debug mode.
id: debug_build
run: swift build --configuration debug
continue-on-error: true
- name: Retry build with debug mode if necessary
if: steps.debug_build.outcome == 'failure'
run: |
swift build --configuration debug
- name: Test
run: swift test
spm_build:
name: SPM Build
strategy:
matrix:
os:
- ubuntu-22.04
- macos-15
swift-version:
- "5.9"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup Swift
if: matrix.os == 'ubuntu-22.04'
uses: SwiftyLab/setup-swift@latest
with:
swift-version: ${{ matrix.swift-version }}
# DEBUG mode
- name: Build with debug mode.
id: debug_build
run: swift build --configuration debug
continue-on-error: true
- name: Retry build with debug mode if necessary
if: steps.debug_build.outcome == 'failure'
run: |
swift build --configuration debug
# RELEASE mode
- name: Build with release mode.
id: release_build
run: swift build --configuration release
continue-on-error: true
- name: Retry build with release mode if necessary
if: steps.release_build.outcome == 'failure'
run: |
swift build --configuration release
tuist_test:
name: Tuist Test
strategy:
matrix:
os:
- macos-15
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
with:
version: 2024.11.8
- name: Install dependencies
run: tuist install
- name: Test
run: tuist test
tuist_build:
name: Tuist Build
strategy:
matrix:
os:
- macos-15
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
with:
version: 2024.11.8
- name: Install dependencies
run: tuist install
- name: Build
run: tuist build
lint:
name: Lint
strategy:
matrix:
os:
- macos-15
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: jdx/mise-action@v2
with:
version: 2024.11.8
- name: Lint
run: mise run lint