Skip to content

Mobile/Format

Mobile/Format #582

Workflow file for this run

name: Mobile/Format
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-format
container:
permissions:
contents: read
packages: read
if: ${{ fromJSON(needs.load.outputs.request).run.mobile-format }}
needs: load
uses: ./.github/workflows/_mobile_container_ci.yml
with:
args: ${{ matrix.args }}
command: ${{ matrix.command }}
container: ${{ matrix.container }}
request: ${{ needs.load.outputs.request }}
target: ${{ matrix.target }}
timeout-minutes: ${{ matrix.timeout-minutes }}
strategy:
fail-fast: false
matrix:
include:
- name: Format all
args: check
command: ./tools/check_format.sh
target: format-all
timeout-minutes: 45
- name: Swift lint
args: >-
lint
--strict
command: swiftlint
container: >-
ghcr.io/realm/swiftlint:0.50.3
target: swift-lint
timeout-minutes: 45
host:
permissions:
contents: read
packages: read
if: ${{ fromJSON(needs.load.outputs.request).run.mobile-format }}
needs: load
uses: ./.github/workflows/_run.yml
with:
args: ${{ matrix.args }}
command: ${{ matrix.command }}
container-command:
request: ${{ needs.load.outputs.request }}
runs-on: ${{ matrix.runs-on }}
source: ${{ matrix.source }}
steps-pre: ${{ matrix.steps-pre }}
steps-post: ${{ matrix.steps-post }}
target: ${{ matrix.target }}
timeout-minutes: ${{ matrix.timeout-minutes }}
trusted: ${{ fromJSON(needs.load.outputs.trusted) }}
working-directory: mobile
strategy:
fail-fast: false
matrix:
include:
- name: Run drstring
args: >-
run
--config=remote-ci
@DrString//:drstring check
command: ./bazelw
runs-on: macos-12
source: |
export DEVELOPER_DIR=/Applications/Xcode_14.1.app
target: drstring
timeout-minutes: 10
- name: Pre-commit
command: pre-commit
args: >-
run
--files
mobile/*
source: |
pip install pre-commit
target: pre-commit
timeout-minutes: 45
- name: Kotlin lint
args: >-
build
--config=mobile-remote-ci-macos
//library/kotlin/io/envoyproxy/envoymobile:envoy_lib_lint
//examples/kotlin/hello_world:hello_envoy_kt_lint
command: ./bazelw
runs-on: macos-12
source: |
export DEVELOPER_DIR=/Applications/Xcode_14.1.app
./ci/mac_ci_setup.sh
steps-pre: |
- uses: actions/setup-java@0ab4596768b603586c0de567f2430c30f5b0d2b0 # v3.13.0
with:
java-version: '8'
java-package: jdk
architecture: x64
distribution: zulu
steps-post: |
- name: Run Kotlin Formatter (ktlint)
shell: bash
run: |
cd mobile
./bazelw build --config=remote-ci kotlin_format
target: kotlin-lint
timeout-minutes: 10
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-format }}
needs:
- load
- container
- host
uses: ./.github/workflows/_finish.yml
with:
needs: ${{ toJSON(needs) }}