Skip to content

chore(deps): update flutter-actions/setup-flutter action to v3 (#223) #109

chore(deps): update flutter-actions/setup-flutter action to v3 (#223)

chore(deps): update flutter-actions/setup-flutter action to v3 (#223) #109

on:
push:
branches:
- main
paths:
- .github/workflows/update_flutter_dependencies.yml
- config/flutter_version.json
workflow_dispatch:
jobs:
update_version:
permissions:
id-token: write # Enable OIDC token because Gitsign creates keys based on the GitHub runner OIDC credentials
contents: write
pull-requests: write
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Copy Flutter version into version manifest
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
with:
script: |
const script = require('./script/copyFlutterVersion.js')
await script({core})
- name: Update latest Fastlane version
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7
with:
script: |
const script = require('./script/updateFastlaneVersion.js')
await script({core, fetch})
- name: Setup Flutter
uses: flutter-actions/setup-flutter@6c57a0cee985bcea2f7dedad0d432eabd3072866 # v3.6
with:
cache: true
channel: ${{ env.FLUTTER_CHANNEL }}
version: ${{ env.FLUTTER_VERSION }}
# TODO: Create test app in specific folder with step id, to allow parallel execution
- name: Create test application
run: |
flutter create test_app
# TODO: Cache gradle https://github.com/gradle/gradle-build-action
- name: Update default Android platform versions in Flutter
working-directory: test_app/android
run: |
cat ../../script/updateAndroidVersions.gradle >> app/build.gradle
./gradlew --warning-mode all updateAndroidVersions
- name: Clean test application
run: |
rm -rf test_app
- name: Setup Cue for JSON validation
uses: cue-lang/setup-cue@a93fa358375740cd8b0078f76355512b9208acb1 # v1.0.1
- name: Validate version.json
run: cue vet config/version.cue config/version.json
- name: Setup NodeJS
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
with:
cache: 'npm'
cache-dependency-path: docs/src/package-lock.json
node-version-file: docs/src/package.json
- name: Update documentation
working-directory: docs/src
run: |
npm ci --prefer-offline
npm run build
- name: Setup Gitsign to sign git commits
uses: chainguard-dev/actions/setup-gitsign@9ba949ac63357c725a9438f3e05a1e33d313498e # main
- name: Create commit message variable
run: |
echo "COMMIT_MESSAGE=chore: update flutter dependencies in version.json for ${{ env.FLUTTER_VERSION }}" >> $GITHUB_ENV
- name: Create pull request if there are changes
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6
with:
commit-message: ${{ env.COMMIT_MESSAGE }}
branch: update-flutter-dependencies/${{ env.FLUTTER_VERSION }}
title: ${{ env.COMMIT_MESSAGE }}
token: ${{ secrets.GH_APP_TOKEN}}