Use advisories from master #124
This file contains 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 | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
jobs: | |
# Check which files / paths have changed. We use this to inform whether we should run | |
# later jobs. Even though there is only a single job for now (build_android) we only | |
# want to run it if the app itself has changed, not the app data (since we don't | |
# bundle that in to the app anymore). | |
changes: | |
outputs: | |
android: ${{ steps.filter.outputs.android }} | |
data: ${{ steps.filter.outputs.data }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: '.github/filters.yml' | |
- name: Print changes | |
run: printf "Android files changed $ANDROID\Data files changed $DATA\n" | |
env: | |
ANDROID: ${{ steps.filter.outputs.android }} | |
DATA: ${{ steps.filter.outputs.data }} | |
build_android: | |
needs: [changes] | |
if: needs.changes.outputs.android == 'true' || needs.changes.outputs.data == 'true' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: echo "${{ secrets.UPLOAD_KEYSTORE }}" | base64 -d > android/upload_keystore.jks | |
- run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 -d > android/key.properties | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- uses: subosito/flutter-action@v1 | |
with: | |
flutter-version: '3.24.4' | |
channel: stable | |
# Initial build and test. | |
- run: flutter pub get | |
# Run tests. | |
- run: flutter test | |
# Build apk. This will be signed. | |
- run: flutter build apk | |
if: needs.changes.outputs.android == 'true' && github.event_name == 'push' | |
# Publish apk to Github Packages | |
- uses: marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0 | |
if: needs.changes.outputs.android == 'true' && github.event_name == 'push' | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: false | |
title: "Latest apk build" | |
files: build/app/outputs/flutter-apk/app-release.apk | |
# Build appbundle. This will be signed. | |
- run: flutter build appbundle | |
if: needs.changes.outputs.android == 'true' && github.event_name == 'push' | |
# Publish appbundle to the store. | |
- name: Publish Android build to internal track | |
uses: r0adkll/[email protected] | |
if: needs.changes.outputs.android == 'true' && github.event_name == 'push' | |
with: | |
serviceAccountJsonPlainText: ${{ secrets.ANDROID_SERVICE_ACCOUNT_JSON }} | |
packageName: com.banool.auslan_dictionary | |
releaseFile: build/app/outputs/bundle/release/app-release.aab | |
track: internal |