Skip to content

Add a simulated DevTools environment for developing extensions #10398

Add a simulated DevTools environment for developing extensions

Add a simulated DevTools environment for developing extensions #10398

Workflow file for this run

# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
name: devtools
on:
pull_request:
push:
branches:
- master
# Declare default permissions as read only.
permissions: read-all
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
flutter-prep:
uses: ./.github/workflows/flutter-prep.yaml
main:
name: main
needs: flutter-prep
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: git clone
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- name: Load Cached Flutter SDK
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
./flutter-sdk
key: flutter-sdk-${{ runner.os }}-${{ needs.flutter-prep.outputs.latest_flutter_candidate }}
- name: tool/bots.sh
env:
BOT: main
run: ./tool/bots.sh
test:
name: ${{ matrix.bot }}
needs: flutter-prep
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
bot:
- build_ddc
- build_dart2js
- test_ddc
- test_dart2js
steps:
- name: git clone
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- name: Load Cached Flutter SDK
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
./flutter-sdk
key: flutter-sdk-${{ runner.os }}-${{ needs.flutter-prep.outputs.latest_flutter_candidate }}
- name: tool/bots.sh
env:
BOT: ${{ matrix.bot }}
PLATFORM: vm
run: ./tool/bots.sh
macos-test:
needs: flutter-prep
name: macos goldens ${{ matrix.bot }}
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
bot:
- test_dart2js
only_golden:
- true
steps:
- name: git clone
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- name: Load Cached Flutter SDK
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
./flutter-sdk
key: flutter-sdk-${{ runner.os }}-${{ needs.flutter-prep.outputs.latest_flutter_candidate }}
- name: tool/bots.sh
env:
BOT: ${{ matrix.bot }}
PLATFORM: vm
ONLY_GOLDEN: ${{ matrix.only_golden }}
run: ./tool/bots.sh
- name: Upload Golden Failure Artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
if: failure()
with:
name: golden_image_failures.${{ matrix.bot }}
path: packages/devtools_app/test/**/failures/*.png
- name: Notify of Quick Fix
if: failure()
env:
WORKFLOW_ID: ${{ github.run_id }}
run: |
echo "::notice title=To Quickly Fix Goldens:: Run \`./tool/fix_goldens.sh $WORKFLOW_ID\` on your local branch."
integration-test:
name: integration-test ${{ matrix.bot }} - ${{ matrix.device }}
needs: flutter-prep
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
bot:
# Consider running integration tests in ddc mode, too.
- dart2js
device:
- flutter
- flutter-web
- dart-cli
steps:
- name: git clone
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
- name: Load Cached Flutter SDK
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: |
./flutter-sdk
key: flutter-sdk-${{ runner.os }}-${{ needs.flutter-prep.outputs.latest_flutter_candidate }}
- name: tool/bots.sh
env:
BOT: ${{ matrix.bot }}
DEVICE: ${{ matrix.device }}
run: ./tool/bots.sh
- name: Upload Golden Failure Artifacts
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
if: failure()
with:
name: golden_image_failures.${{ matrix.bot }}
path: packages/devtools_app/integration_test/**/failures/*.png
# TODO(https://github.com/flutter/devtools/issues/1715): add a windows compatible version of tool/bots.sh
# and run it from this job.
# windows-test:
# name: windows ${{ matrix.bot }}
# runs-on: windows-latest
# strategy:
# fail-fast: false
# matrix:
# bot:
# - test_dart2js
# steps:
# - name: git clone
# uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
#
# - name: tool/bots.sh
# env:
# BOT: ${{ matrix.bot }}
# PLATFORM: vm
# run: ./tool/bots.sh
# TODO(https://github.com/flutter/devtools/issues/1987): rewrite integration tests.
# integration:
# name: integration ${{ matrix.bot }}
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# bot:
# - integration_ddc
# - integration_dart2js
# steps:
# - name: git clone
# uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744
# - name: tool/bots.sh
# env:
# BOT: ${{ matrix.bot }}
# run: ./tool/bots.sh
# TODO(https://github.com/flutter/devtools/issues/2437):
# PLATFORM=chrome is going away. We need to move these tests to run with
# chromedriver.
# - BOT=test_ddc PLATFORM=chrome
# PLATFORM=chrome is going away. We need to move these tests to run with
# chromedriver.
# - BOT=test_dart2js PLATFORM=chrome