| # Created with package:mono_repo v5.0.2 |
| name: Dart CI |
| on: |
| push: |
| branches: |
| - main |
| - master |
| pull_request: |
| schedule: |
| - cron: "0 0 * * 0" |
| defaults: |
| run: |
| shell: bash |
| env: |
| PUB_ENVIRONMENT: bot.github |
| DISPLAY: ":99" |
| |
| jobs: |
| job_001: |
| name: mono_repo self validate |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:stable" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: stable |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - name: mono_repo self validate |
| run: dart pub global activate mono_repo 5.0.2 |
| - name: mono_repo self validate |
| run: dart pub global run mono_repo generate --validate |
| job_002: |
| name: "analyzer_and_format; linux; Dart dev; PKG: dwds; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos .`, `dart test test/build/ensure_version_test.dart`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:dwds;commands:format-analyze-test_0" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:dwds |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: dwds_pub_upgrade |
| name: dwds; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: dwds |
| run: dart pub upgrade |
| - name: "dwds; dart format --output=none --set-exit-if-changed ." |
| if: "always() && steps.dwds_pub_upgrade.conclusion == 'success'" |
| working-directory: dwds |
| run: "dart format --output=none --set-exit-if-changed ." |
| - name: "dwds; dart analyze --fatal-infos ." |
| if: "always() && steps.dwds_pub_upgrade.conclusion == 'success'" |
| working-directory: dwds |
| run: dart analyze --fatal-infos . |
| - name: dwds; dart test test/build/ensure_version_test.dart |
| if: "always() && steps.dwds_pub_upgrade.conclusion == 'success'" |
| working-directory: dwds |
| run: dart test test/build/ensure_version_test.dart |
| job_003: |
| name: "analyzer_and_format; linux; Dart dev; PKGS: example, fixtures/_webdevSmoke, frontend_server_client, frontend_server_common; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos .`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:example-fixtures/_webdevSmoke-frontend_server_client-frontend_server_common;commands:format-analyze" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:example-fixtures/_webdevSmoke-frontend_server_client-frontend_server_common |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: example_pub_upgrade |
| name: example; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: example |
| run: dart pub upgrade |
| - name: "example; dart format --output=none --set-exit-if-changed ." |
| if: "always() && steps.example_pub_upgrade.conclusion == 'success'" |
| working-directory: example |
| run: "dart format --output=none --set-exit-if-changed ." |
| - name: "example; dart analyze --fatal-infos ." |
| if: "always() && steps.example_pub_upgrade.conclusion == 'success'" |
| working-directory: example |
| run: dart analyze --fatal-infos . |
| - id: fixtures__webdevSmoke_pub_upgrade |
| name: fixtures/_webdevSmoke; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: fixtures/_webdevSmoke |
| run: dart pub upgrade |
| - name: "fixtures/_webdevSmoke; dart format --output=none --set-exit-if-changed ." |
| if: "always() && steps.fixtures__webdevSmoke_pub_upgrade.conclusion == 'success'" |
| working-directory: fixtures/_webdevSmoke |
| run: "dart format --output=none --set-exit-if-changed ." |
| - name: "fixtures/_webdevSmoke; dart analyze --fatal-infos ." |
| if: "always() && steps.fixtures__webdevSmoke_pub_upgrade.conclusion == 'success'" |
| working-directory: fixtures/_webdevSmoke |
| run: dart analyze --fatal-infos . |
| - id: frontend_server_client_pub_upgrade |
| name: frontend_server_client; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart pub upgrade |
| - name: "frontend_server_client; dart format --output=none --set-exit-if-changed ." |
| if: "always() && steps.frontend_server_client_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: "dart format --output=none --set-exit-if-changed ." |
| - name: "frontend_server_client; dart analyze --fatal-infos ." |
| if: "always() && steps.frontend_server_client_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart analyze --fatal-infos . |
| - id: frontend_server_common_pub_upgrade |
| name: frontend_server_common; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: frontend_server_common |
| run: dart pub upgrade |
| - name: "frontend_server_common; dart format --output=none --set-exit-if-changed ." |
| if: "always() && steps.frontend_server_common_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_common |
| run: "dart format --output=none --set-exit-if-changed ." |
| - name: "frontend_server_common; dart analyze --fatal-infos ." |
| if: "always() && steps.frontend_server_common_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_common |
| run: dart analyze --fatal-infos . |
| job_004: |
| name: "analyzer_and_format; linux; Dart dev; PKG: webdev; `dart format --output=none --set-exit-if-changed .`, `dart analyze --fatal-infos .`, `dart test test/build/ensure_build_test.dart`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:webdev;commands:format-analyze-test_2" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:webdev |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: webdev_pub_upgrade |
| name: webdev; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: webdev |
| run: dart pub upgrade |
| - name: "webdev; dart format --output=none --set-exit-if-changed ." |
| if: "always() && steps.webdev_pub_upgrade.conclusion == 'success'" |
| working-directory: webdev |
| run: "dart format --output=none --set-exit-if-changed ." |
| - name: "webdev; dart analyze --fatal-infos ." |
| if: "always() && steps.webdev_pub_upgrade.conclusion == 'success'" |
| working-directory: webdev |
| run: dart analyze --fatal-infos . |
| - name: webdev; dart test test/build/ensure_build_test.dart |
| if: "always() && steps.webdev_pub_upgrade.conclusion == 'success'" |
| working-directory: webdev |
| run: dart test test/build/ensure_build_test.dart |
| job_005: |
| name: "unit_test; linux; Dart dev; PKG: dwds; `Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &`, `dart test`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:dwds;commands:command-test_1" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:dwds |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: dwds_pub_upgrade |
| name: dwds; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: dwds |
| run: dart pub upgrade |
| - name: "dwds; Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &" |
| if: "always() && steps.dwds_pub_upgrade.conclusion == 'success'" |
| working-directory: dwds |
| run: "Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &" |
| - name: dwds; dart test |
| if: "always() && steps.dwds_pub_upgrade.conclusion == 'success'" |
| working-directory: dwds |
| run: dart test |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_006: |
| name: "unit_test; linux; Dart dev; PKG: frontend_server_client; `dart test`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:frontend_server_client;commands:test_1" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:frontend_server_client |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: frontend_server_client_pub_upgrade |
| name: frontend_server_client; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart pub upgrade |
| - name: frontend_server_client; dart test |
| if: "always() && steps.frontend_server_client_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart test |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_007: |
| name: "unit_test; linux; Dart dev; PKG: webdev; `Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &`, `dart test -j 1`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:webdev;commands:command-test_3" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:webdev |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: webdev_pub_upgrade |
| name: webdev; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: webdev |
| run: dart pub upgrade |
| - name: "webdev; Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &" |
| if: "always() && steps.webdev_pub_upgrade.conclusion == 'success'" |
| working-directory: webdev |
| run: "Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &" |
| - name: "webdev; dart test -j 1" |
| if: "always() && steps.webdev_pub_upgrade.conclusion == 'success'" |
| working-directory: webdev |
| run: dart test -j 1 |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_008: |
| name: "unit_test; linux; Dart stable; PKG: frontend_server_client; `dart test`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2.1.6 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:stable;packages:frontend_server_client;commands:test_1" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:stable;packages:frontend_server_client |
| os:ubuntu-latest;pub-cache-hosted;dart:stable |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: stable |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: frontend_server_client_pub_upgrade |
| name: frontend_server_client; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart pub upgrade |
| - name: frontend_server_client; dart test |
| if: "always() && steps.frontend_server_client_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart test |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_009: |
| name: "unit_test; windows; Dart dev; PKG: dwds; `dart test`" |
| runs-on: windows-latest |
| steps: |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: dwds_pub_upgrade |
| name: dwds; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: dwds |
| run: dart pub upgrade |
| - name: dwds; dart test |
| if: "always() && steps.dwds_pub_upgrade.conclusion == 'success'" |
| working-directory: dwds |
| run: dart test |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_010: |
| name: "unit_test; windows; Dart dev; PKG: frontend_server_client; `dart test`" |
| runs-on: windows-latest |
| steps: |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: frontend_server_client_pub_upgrade |
| name: frontend_server_client; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart pub upgrade |
| - name: frontend_server_client; dart test |
| if: "always() && steps.frontend_server_client_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart test |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_011: |
| name: "unit_test; windows; Dart dev; PKG: webdev; `dart test -j 1`" |
| runs-on: windows-latest |
| steps: |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: webdev_pub_upgrade |
| name: webdev; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: webdev |
| run: dart pub upgrade |
| - name: "webdev; dart test -j 1" |
| if: "always() && steps.webdev_pub_upgrade.conclusion == 'success'" |
| working-directory: webdev |
| run: dart test -j 1 |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_012: |
| name: "unit_test; windows; Dart stable; PKG: frontend_server_client; `dart test`" |
| runs-on: windows-latest |
| steps: |
| - uses: dart-lang/setup-dart@v1.2 |
| with: |
| sdk: stable |
| - id: checkout |
| uses: actions/checkout@v2.3.4 |
| - id: frontend_server_client_pub_upgrade |
| name: frontend_server_client; dart pub upgrade |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart pub upgrade |
| - name: frontend_server_client; dart test |
| if: "always() && steps.frontend_server_client_pub_upgrade.conclusion == 'success'" |
| working-directory: frontend_server_client |
| run: dart test |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| job_013: |
| name: Notify failure |
| runs-on: ubuntu-latest |
| if: "(github.event_name == 'push' || github.event_name == 'schedule') && failure()" |
| steps: |
| - run: | |
| curl -H "Content-Type: application/json" -X POST -d \ |
| "{'text':'Build failed! ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}'}" \ |
| "${CHAT_WEBHOOK_URL}" |
| env: |
| CHAT_WEBHOOK_URL: "${{ secrets.BUILD_AND_TEST_TEAM_CHAT_WEBHOOK_URL }}" |
| needs: |
| - job_001 |
| - job_002 |
| - job_003 |
| - job_004 |
| - job_005 |
| - job_006 |
| - job_007 |
| - job_008 |
| - job_009 |
| - job_010 |
| - job_011 |
| - job_012 |