Mobile/Compile time options #284
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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-options }} | |
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 }} | |
needs: | |
- load | |
- cc | |
- build | |
uses: ./.github/workflows/_finish.yml | |
with: | |
needs: ${{ toJSON(needs) }} |