forked from envoyproxy/envoy
-
Notifications
You must be signed in to change notification settings - Fork 0
144 lines (136 loc) · 4.19 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
132
133
134
135
136
137
138
139
140
141
142
143
144
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: kotlin-build
args: >-
build
--config=mobile-remote-ci-macos-kotlin
//:android_dist
source: |
. ./ci/mac_ci_setup.sh --android
echo "ANDROID_NDK_HOME=${ANDROID_NDK_HOME}" >> $GITHUB_ENV
export ANDROID_NDK_HOME
steps-pre: |
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
with:
java-version: '8'
java-package: jdk
architecture: x64
distribution: zulu
- name: swift-build
args: >-
build
--config=mobile-remote-ci-macos-swift
//library/swift:ios_framework
source: |
./ci/mac_ci_setup.sh
./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-options-cc) }}
needs:
- load
- cc
- build
uses: ./.github/workflows/_finish.yml
with:
needs: ${{ toJSON(needs) }}