forked from envoyproxy/envoy
-
Notifications
You must be signed in to change notification settings - Fork 0
131 lines (123 loc) · 3.86 KB
/
mobile-compile_time_options.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
name: Mobile/Compile time options
permissions:
contents: read
on:
workflow_run:
workflows:
- Request
types:
- completed
concurrency:
group: ${{ github.head_ref || github.run_id }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
load:
secrets:
app-key: ${{ secrets.ENVOY_CI_APP_KEY }}
app-id: ${{ secrets.ENVOY_CI_APP_ID }}
lock-app-key: ${{ secrets.ENVOY_CI_MUTEX_APP_KEY }}
lock-app-id: ${{ secrets.ENVOY_CI_MUTEX_APP_ID }}
permissions:
actions: read
contents: read
packages: read
pull-requests: read
if: ${{ github.event.workflow_run.conclusion == 'success' }}
uses: ./.github/workflows/_load.yml
with:
check-name: mobile-compile-time-options
cc:
permissions:
contents: read
packages: read
uses: ./.github/workflows/_mobile_container_ci.yml
if: ${{ fromJSON(needs.load.outputs.request).run.mobile-compile-time-cc }}
needs: load
with:
args: ${{ matrix.args }}
command: ./bazelw
entrypoint: ${{ matrix.entrypoint }}
request: ${{ needs.load.outputs.request }}
target: ${{ matrix.target }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- name: Running C++ test with YAML disabled
target: cc-test-no-yaml
args: >-
build
--config=mobile-remote-ci-cc-no-yaml
//test/common/integration:client_integration_test
- name: Running C++ build with exceptions disabled
target: cc-no-build-exceptions
args: >-
build
--config=mobile-remote-ci-cc-no-exceptions
//test/performance:test_binary_size //library/cc/...
- name: Running C++ test
target: cc-test
args: >-
test
--config=mobile-remote-ci-cc-test
entrypoint: |
#!/bin/bash -e
export PATH=/opt/llvm/bin:$PATH
cd /source/mobile
EXTRA_ARGS=$(bazel query //test/cc/... + //test/common/... except //test/common/integration:client_integration_test)
exec "$@" $EXTRA_ARGS
build:
permissions:
contents: read
packages: read
uses: ./.github/workflows/_run.yml
if: ${{ fromJSON(needs.load.outputs.request).run.mobile-compile-time-options }}
needs: load
with:
args: ${{ matrix.args }}
command: ./bazelw
container-command:
request: ${{ needs.load.outputs.request }}
runs-on: macos-12
source: ${{ matrix.source }}
steps-pre: ${{ matrix.steps-pre }}
target: ${{ matrix.target || matrix.name }}
trusted: ${{ fromJSON(needs.load.outputs.trusted) }}
timeout-minutes: 120
working-directory: mobile
strategy:
fail-fast: false
matrix:
include:
- name: swift-build
args: >-
build
--config=mobile-remote-ci-macos-swift
//library/swift:ios_framework
source: |
# TODO(fredyw): A workaround since mobile/WORKSPACE requires Android SDK to be available
# and the GitHub Action runner image no longer includes Android SDK 30:
# https://github.com/actions/runner-images/issues/8952
./ci/mac_ci_setup.sh --android
./bazelw shutdown
request:
secrets:
app-id: ${{ secrets.ENVOY_CI_APP_ID }}
app-key: ${{ secrets.ENVOY_CI_APP_KEY }}
permissions:
actions: read
contents: read
pull-requests: read
if: >-
${{ always()
&& github.event.workflow_run.conclusion == 'success'
&& (fromJSON(needs.load.outputs.request).run.mobile-compile-time-options
|| fromJSON(needs.load.outputs.request).run.mobile-compile-time-cc) }}
needs:
- load
- cc
- build
uses: ./.github/workflows/_finish.yml
with:
needs: ${{ toJSON(needs) }}