Skip to content

Version 8.0.0-dev.2 #61

Version 8.0.0-dev.2

Version 8.0.0-dev.2 #61

Workflow file for this run

# This GitHub action runs on a release, when the GitHub repo is "published"
# This workflow:
# - Installs dart and flutter
# - Uses flutter stable channel.
# Consider setting up a matrix later with beta and dev included too.
# - Enables flutter web
# - Gets package dependencies
# - Runs dart analyze.
# - Show outdated packages, just added for info.
# - Verify that dart format is used by all committed code, fails if not.
# Controversial but pub.dev penalizes you if dart format is not used.
# - Run all tests with coverage.
# - Upload code coverage output to Codecov for analysis.
# - Build 5 different WEB example apps using FlexColorScheme.
# All examples use these steps:
# - Flutter clean.
# - Flutter build web app, in release mode and with canvaskit renderer.
# - Deploy each built Web App to GitHub pages.
name: Deploy_Web
on:
push:
branches: [none]
paths-ignore:
- "**.md"
pull_request:
branches: [none]
paths-ignore:
- "**.md"
release:
branches: [none]
types: [published]
jobs:
flutter_tests:
name: "Analyze and test package, then build and deploy 5 web apps"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Flutter and Dart SDK
uses: subosito/flutter-action@v2
with:
channel: "stable"
- name: "Show Dart SDK version"
run: dart --version
- name: "Show Flutter SDK version"
run: flutter --version
- name: "Flutter Enable Web"
run: flutter config --enable-web
- name: "Install Flutter package dependencies"
run: flutter pub get
- name: "Analyze Dart source"
run: dart analyze
- name: "Show outdated packages"
run: flutter pub outdated
- name: "Verify that Dart formatting is used, fail if not"
run: dart format --output=none --set-exit-if-changed .
- name: "Test package FlexColorScheme with coverage"
run: flutter test --coverage
- name: "Upload test coverage to Codecov"
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: coverage/lcov.info
# Example 1 Basic theme - Build and deploy
- name: "EXAMPLE-1 START BUILD - Flutter clean before build"
run: flutter clean && cd example && flutter clean
- name: "EXAMPLE-1 WEB release build"
run: cd example && flutter build web --web-renderer canvaskit --base-href "/flexcolorscheme/basictheme-latest/" --release -t lib/example1_basic_theme_usage/main.dart
- name: "EXAMPLE-1 DEPLOY to GitHub Pages repository, published on commit."
uses: dmnemec/[email protected]
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
source_file: 'example/build/web/.'
destination_folder: 'flexcolorscheme/basictheme-latest'
destination_repo: 'rydmike/rydmike.github.io'
user_email: '[email protected]'
user_name: 'rydmike'
# Example 2 Custom theme - Build and deploy
- name: "EXAMPLE-2 START BUILD - Flutter clean before build"
run: flutter clean && cd example && flutter clean
- name: "EXAMPLE-2 WEB release build"
run: cd example && flutter build web --web-renderer canvaskit --base-href "/flexcolorscheme/customtheme-latest/" --release -t lib/example2_custom_theme/main.dart
- name: "EXAMPLE-2 DEPLOY to GitHub Pages repository, published on commit."
uses: dmnemec/[email protected]
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
source_file: 'example/build/web/.'
destination_folder: 'flexcolorscheme/customtheme-latest'
destination_repo: 'rydmike/rydmike.github.io'
user_email: '[email protected]'
user_name: 'rydmike'
# Example 3 Four themes - Build and deploy
- name: "EXAMPLE-3 START BUILD - Flutter clean before build"
run: flutter clean && cd example && flutter clean
- name: "EXAMPLE-3 WEB release build"
run: cd example && flutter build web --web-renderer canvaskit --base-href "/flexcolorscheme/fourthemes-latest/" --release -t lib/example3_four_themes/main.dart
- name: "EXAMPLE-3 DEPLOY to GitHub Pages repository, published on commit."
uses: dmnemec/[email protected]
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
source_file: 'example/build/web/.'
destination_folder: 'flexcolorscheme/fourthemes-latest'
destination_repo: 'rydmike/rydmike.github.io'
user_email: '[email protected]'
user_name: 'rydmike'
# Example 4 All themes - Build and deploy
- name: "EXAMPLE-4 START BUILD - Flutter clean before build"
run: flutter clean && cd example && flutter clean
- name: "EXAMPLE-4 WEB release build"
run: cd example && flutter build web --web-renderer canvaskit --base-href "/flexcolorscheme/allthemes-latest/" --release -t lib/example4_all_themes/main.dart
- name: "EXAMPLE-4 DEPLOY to GitHub Pages repository, published on commit."
uses: dmnemec/[email protected]
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
source_file: 'example/build/web/.'
destination_folder: 'flexcolorscheme/allthemes-latest'
destination_repo: 'rydmike/rydmike.github.io'
user_email: '[email protected]'
user_name: 'rydmike'
# Example 5 Themes playground - Build and deploy
- name: "EXAMPLE-5 START BUILD - Flutter clean before build"
run: flutter clean && cd example && flutter clean
- name: "EXAMPLE-5 WEB release build"
run: cd example && flutter build web --web-renderer canvaskit --base-href "/flexcolorscheme/themesplayground-latest/" --no-tree-shake-icons --release -t lib/example5_themes_playground/main.dart
- name: "EXAMPLE-5 DEPLOY to GitHub Pages repository, published on commit."
uses: dmnemec/[email protected]
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
source_file: 'example/build/web/.'
destination_folder: 'flexcolorscheme/themesplayground-latest'
destination_repo: 'rydmike/rydmike.github.io'
user_email: '[email protected]'
user_name: 'rydmike'