Version 8.0.0-dev.2 #61
Workflow file for this run
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
# 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' |