Skip to content

tests: stop the mock API blocking on a reverse DNS lookup #6

tests: stop the mock API blocking on a reverse DNS lookup

tests: stop the mock API blocking on a reverse DNS lookup #6

Workflow file for this run

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