Repository navigation
docs: warn that bitrise share finish stacks pull requests
#9
This file contains hidden or 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: CI | |
| # Everything here runs offline: the Steps are exercised against tests/mock_api.py | |
| # and tests/stubs/, so no TestingBot credentials are needed and no device minutes | |
| # are spent. The live checks live in scripts/e2e.sh and are run by hand. | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| BITRISE_ANALYTICS_DISABLED: "true" | |
| jobs: | |
| audit: | |
| name: Audit and offline tests | |
| # macOS so the suite runs against bash 3.2, the oldest shell the Steps have | |
| # to work on. Ubuntu ships bash 5 and would not catch a bashism. | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install the Bitrise CLI | |
| run: | | |
| brew install bitrise | |
| bitrise setup | |
| - name: Install linters | |
| run: brew install shellcheck yamllint | |
| - name: Toolchain | |
| # Printed so a failure below is self-explaining: every CI-only failure so | |
| # far has come from a tool behaving differently here than locally. | |
| run: | | |
| export PATH="$HOME/.bitrise/tools:$PATH" | |
| echo "bash $(bash --version | head -1)" | |
| echo "sh -> $(readlink /var/select/sh 2>/dev/null || echo n/a)" | |
| echo "bitrise $(bitrise version)" | |
| echo "stepman $(stepman version 2>/dev/null || echo MISSING)" | |
| echo "envman $(envman version 2>/dev/null || echo MISSING)" | |
| echo "shellcheck $(shellcheck --version | awk '/^version:/{print $2}')" | |
| echo "yamllint $(yamllint --version)" | |
| echo "python3 $(python3 --version)" | |
| echo "zip $(zip -v | awk 'NR==2{print $2, $3}')" | |
| - name: Audit | |
| # Sync check, shellcheck, yamllint against Bitrise's own config, | |
| # stepman audit and bitrise validate per Step, then the offline suite. | |
| run: ./scripts/audit-all.sh | |
| check: | |
| name: StepLib linter | |
| # Linux, not macOS. steps-check is a Go-toolkit Step: Bitrise compiles it and | |
| # caches the binary, and on the arm64 macOS runners dyld rejects the result | |
| # with "missing LC_UUID load command" before the linter ever runs. Nothing | |
| # here is macOS-specific -- it lints step.yml against the JSON schema and the | |
| # README -- so Linux is the right host for it. | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| step: | |
| - testingbot-upload-app | |
| - testingbot-espresso | |
| - testingbot-xcuitest | |
| - testingbot-maestro | |
| - testingbot-tunnel | |
| - testingbot-tunnel-stop | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install the Bitrise CLI | |
| run: | | |
| curl -fsSL -o /usr/local/bin/bitrise \ | |
| "https://github.com/bitrise-io/bitrise/releases/latest/download/bitrise-$(uname -s)-$(uname -m)" | |
| chmod +x /usr/local/bin/bitrise | |
| bitrise setup | |
| bitrise version | |
| - name: bitrise run check | |
| # The linter StepLib CI runs on a submission: yamllint, step.yml against | |
| # the official JSON schema, and step.yml against the README. Slow (it | |
| # clones a repo per Step), which is why it is a separate job. | |
| working-directory: steps/${{ matrix.step }} | |
| run: bitrise run check |