Skip to content

General: Name the gesture in onboarding and test the dispatch core #81

General: Name the gesture in onboarding and test the dispatch core

General: Name the gesture in onboarding and test the dispatch core #81

Workflow file for this run

name: Code checks
on:
push:
branches: [main]
# A version-bump commit touches only these; no need to re-run the build matrix.
paths-ignore:
- VERSION
- version.properties
pull_request:
permissions:
contents: read
jobs:
lint-vital:
name: Lint vitals
strategy:
fail-fast: false
matrix:
flavor: [Foss, Gplay]
variant: [Beta, Release]
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Setup project and build environment
uses: ./.github/actions/common-setup
- name: Check for fatal lint issues
run: ./gradlew lintVital${{ matrix.flavor }}${{ matrix.variant }}
build-modules:
name: Build apps
strategy:
fail-fast: false
matrix:
flavor: [Foss, Gplay]
variant: [Debug]
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Setup project and build environment
uses: ./.github/actions/common-setup
- name: Build modules
run: ./gradlew app:assemble${{ matrix.flavor }}${{ matrix.variant }}
test-modules:
name: Unit tests
strategy:
fail-fast: false
matrix:
flavor: [testFoss, testGplay]
variant: [Debug]
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Setup project and build environment
uses: ./.github/actions/common-setup
- name: Test modules
run: ./gradlew ${{ matrix.flavor }}${{ matrix.variant }}UnitTest
check-fastlane-metadata:
name: Fastlane metadata
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Validate metadata lengths
run: bash fastlane/check_metadata_length.sh
check-screenshots:
name: Screenshot sources
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Setup project and build environment
uses: ./.github/actions/common-setup
# Compile-only: the screenshotTest source set is never built by assemble/test, so this is the
# only guard against the Play Store screenshot composables silently breaking. Rendering the PNGs
# stays a manual pre-release step (fastlane/generate_screenshots.sh) — layoutlib output differs
# across machines, so it isn't asserted in CI.
- name: Compile screenshot sources
run: ./gradlew :app:compileGplayDebugScreenshotTestKotlin
check-release-tooling:
name: Release tooling
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
- name: Install bats and shellcheck
run: |
sudo apt-get update
sudo apt-get install -y bats shellcheck
- name: Shellcheck bump.sh
run: shellcheck tools/release/bump.sh
- name: Shellcheck fastlane scripts
run: shellcheck fastlane/generate_screenshots.sh fastlane/copy_screenshots.sh
- name: Run bump.sh unit tests
run: bats tools/release/bump.bats
- name: Verify version.properties + VERSION are consistent
run: ./tools/release/bump.sh --mode=check