-
Notifications
You must be signed in to change notification settings - Fork 116
/
Copy pathpipeline.yml
139 lines (124 loc) · 3.85 KB
/
pipeline.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
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json
---
agents:
queue: mac
env:
IMAGE_ID: $IMAGE_ID
# This is the default pipeline – it will build and test the app
steps:
#################
# Build the app
#################
- label: ":pipeline: Build"
key: build
command: .buildkite/commands/build-for-testing.sh
plugins: [$CI_TOOLKIT]
notify:
- github_commit_status:
context: Build
#################
# Create Prototype Build
#################
- label: ":hammer_and_wrench: Prototype Build"
command: .buildkite/commands/prototype-build.sh
plugins: [$CI_TOOLKIT]
if: build.pull_request.id != null
notify:
- github_commit_status:
context: Prototype Build
#################
# Run Unit Tests
#################
- label: ":microscope: Unit Tests"
command: .buildkite/commands/run-unit-tests.sh
depends_on: build
plugins: [$CI_TOOLKIT]
artifact_paths:
- fastlane/test_output/*
notify:
- github_commit_status:
context: Unit Tests
- label: ":microscope: Standalone WordPressAuthenticator Unit Tests"
command: |
echo "--- :rubygems: Setting up Gems"
install_gems
echo "--- :cocoapods: Setting up Pods"
install_cocoapods
echo "--- :swift: Setting up Swift Packages"
install_swiftpm_dependencies
echo "--- 🧪 Testing"
bundle exec fastlane run scan \
scheme:WordPressAuthenticator \
prelaunch_simulator:true \
device:'iPhone 16'
plugins: [$CI_TOOLKIT]
artifact_paths:
- fastlane/test_output/*
notify:
- github_commit_status:
context: WordPressAuthenticator Unit Tests
#################
# Linters
#################
- group: Linters
steps:
- label: ":radioactive_sign: Danger - PR Check"
command: danger
key: danger
if: build.pull_request.id != null
retry:
manual:
permit_on_passed: true
agents:
queue: linter
notify:
- github_commit_status:
context: Danger - PR Check
- label: ":swift: SwiftLint"
command: swiftlint
notify:
- github_commit_status:
context: SwiftLint
agents:
queue: linter
- label: 🧹 Lint Translations
command: gplint /workdir/WooCommerce/Resources/AppStoreStrings.pot
plugins:
- docker#v3.8.0:
image: public.ecr.aws/automattic/glotpress-validator:1.0.0
agents:
queue: default
notify:
- github_commit_status:
context: Lint Translations
- label: ":sleuth_or_spy: Lint Localized Strings Format"
command: .buildkite/commands/lint-localized-strings-format.sh
plugins: [$CI_TOOLKIT]
notify:
- github_commit_status:
context: Lint Localized Strings Format
#################
# UI Tests
#################
- label: ":microscope: UI Tests (iPhone)"
command: .buildkite/commands/run-ui-tests.sh UITests 'iPhone 16'
depends_on: build
# Only run on `trunk` and `release/*` -- See p91TBi-cBM-p2#comment-13736
if: build.branch == 'trunk' || build.branch =~ /^release\//
plugins: [$CI_TOOLKIT]
artifact_paths:
- fastlane/test_output/*
notify:
- github_commit_status:
context: UI Tests (iPhone)
- label: ":microscope: UI Tests (iPad)"
command: .buildkite/commands/run-ui-tests.sh UITests "iPad (10th generation)"
depends_on: build
# Only run on `trunk` and `release/*` -- See p91TBi-cBM-p2#comment-13736
if: build.branch == 'trunk' || build.branch =~ /^release\//
plugins: [$CI_TOOLKIT]
artifact_paths:
- fastlane/test_output/*
notify:
- github_commit_status:
context: UI Tests (iPad)