91 lines
2.7 KiB
YAML
91 lines
2.7 KiB
YAML
name: Quality check
|
|
|
|
on:
|
|
push:
|
|
branches: [ "develop", "main" ]
|
|
pull_request:
|
|
branches: [ "develop", "main" ]
|
|
types: [ opened, synchronize, reopened ]
|
|
schedule:
|
|
- cron: '17 8 * * 3'
|
|
|
|
# Declare default permissions as read only.
|
|
permissions: read-all
|
|
|
|
jobs:
|
|
analyze_flutter:
|
|
name: Flutter analysis
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Get Flutter packages
|
|
run: ./flutterw pub get
|
|
|
|
- name: Generate app localizations
|
|
run: ./flutterw gen-l10n
|
|
|
|
- name: Static analysis.
|
|
run: ./flutterw analyze
|
|
|
|
- name: Unit tests.
|
|
run: ./flutterw test
|
|
|
|
analyze_codeql:
|
|
name: CodeQL analysis (${{ matrix.language }})
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
# required for all workflows
|
|
security-events: write
|
|
|
|
# required to fetch internal or private CodeQL packs
|
|
packages: read
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- language: java-kotlin
|
|
build-mode: manual
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
# Building relies on the Android Gradle plugin,
|
|
# which requires a modern Java version (not the default one).
|
|
- name: Set up JDK for Android Gradle plugin
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '21'
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
# Initializes the CodeQL tools for scanning.
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
|
with:
|
|
languages: ${{ matrix.language }}
|
|
build-mode: ${{ matrix.build-mode }}
|
|
|
|
- if: matrix.build-mode == 'manual'
|
|
shell: bash
|
|
# build in profile mode, instead of release,
|
|
# so that setting up signing environment variables is not required
|
|
run: |
|
|
scripts/apply_flavor_play.sh
|
|
./flutterw build apk --profile -t lib/main_play.dart --flavor play
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
|
|
with:
|
|
category: "/language:${{matrix.language}}"
|