| # Created with package:mono_repo v3.4.6 |
| name: Dart CI |
| on: |
| push: |
| branches: |
| - main |
| - master |
| pull_request: |
| schedule: |
| - cron: "0 0 * * 0" |
| defaults: |
| run: |
| shell: bash |
| env: |
| PUB_ENVIRONMENT: bot.github |
| FORCE_TEST_EXIT: true |
| |
| jobs: |
| job_001: |
| name: mono_repo self validate |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| 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@v0.3 |
| with: |
| sdk: stable |
| - id: checkout |
| uses: actions/checkout@v2 |
| - name: mono_repo self validate |
| run: pub global activate mono_repo 3.4.6 |
| - name: mono_repo self validate |
| run: pub global run mono_repo generate --validate |
| job_002: |
| name: "analyze_and_format; PKGS: pkgs/test, pkgs/test_api, pkgs/test_core; `dartfmt -n --set-exit-if-changed .`, `dartanalyzer --fatal-infos --fatal-warnings .`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test-pkgs/test_api-pkgs/test_core;commands:dartfmt-dartanalyzer" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test-pkgs/test_api-pkgs/test_core |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_pub_upgrade |
| name: "pkgs/test; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test; dartfmt -n --set-exit-if-changed ." |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: dartfmt -n --set-exit-if-changed . |
| - name: "pkgs/test; dartanalyzer --fatal-infos --fatal-warnings ." |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: dartanalyzer --fatal-infos --fatal-warnings . |
| - id: pkgs_test_api_pub_upgrade |
| name: "pkgs/test_api; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test_api |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test_api; dartfmt -n --set-exit-if-changed ." |
| if: "always() && steps.pkgs_test_api_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test_api |
| run: dartfmt -n --set-exit-if-changed . |
| - name: "pkgs/test_api; dartanalyzer --fatal-infos --fatal-warnings ." |
| if: "always() && steps.pkgs_test_api_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test_api |
| run: dartanalyzer --fatal-infos --fatal-warnings . |
| - id: pkgs_test_core_pub_upgrade |
| name: "pkgs/test_core; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test_core |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test_core; dartfmt -n --set-exit-if-changed ." |
| if: "always() && steps.pkgs_test_core_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test_core |
| run: dartfmt -n --set-exit-if-changed . |
| - name: "pkgs/test_core; dartanalyzer --fatal-infos --fatal-warnings ." |
| if: "always() && steps.pkgs_test_core_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test_core |
| run: dartanalyzer --fatal-infos --fatal-warnings . |
| job_003: |
| name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 0`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_0" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_pub_upgrade |
| name: "pkgs/test; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 0" |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 0" |
| needs: |
| - job_001 |
| - job_002 |
| job_004: |
| name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 1`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_1" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_pub_upgrade |
| name: "pkgs/test; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 1" |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 1" |
| needs: |
| - job_001 |
| - job_002 |
| job_005: |
| name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 2`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_2" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_pub_upgrade |
| name: "pkgs/test; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 2" |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 2" |
| needs: |
| - job_001 |
| - job_002 |
| job_006: |
| name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 3`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_3" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_pub_upgrade |
| name: "pkgs/test; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 3" |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 3" |
| needs: |
| - job_001 |
| - job_002 |
| job_007: |
| name: "unit_test; PKG: pkgs/test; `xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 4`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test;commands:command_4" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_pub_upgrade |
| name: "pkgs/test; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test; xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 4" |
| if: "always() && steps.pkgs_test_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test |
| run: "xvfb-run -s \"-screen 0 1024x768x24\" pub run test --preset travis -x phantomjs --total-shards 5 --shard-index 4" |
| needs: |
| - job_001 |
| - job_002 |
| job_008: |
| name: "unit_test; PKG: pkgs/test_api; `pub run test --preset travis -x browser`" |
| runs-on: ubuntu-latest |
| steps: |
| - name: Cache Pub hosted dependencies |
| uses: actions/cache@v2 |
| with: |
| path: "~/.pub-cache/hosted" |
| key: "os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test_api;commands:command_5" |
| restore-keys: | |
| os:ubuntu-latest;pub-cache-hosted;dart:dev;packages:pkgs/test_api |
| os:ubuntu-latest;pub-cache-hosted;dart:dev |
| os:ubuntu-latest;pub-cache-hosted |
| os:ubuntu-latest |
| - uses: dart-lang/setup-dart@v0.3 |
| with: |
| sdk: dev |
| - id: checkout |
| uses: actions/checkout@v2 |
| - id: pkgs_test_api_pub_upgrade |
| name: "pkgs/test_api; pub upgrade --no-precompile" |
| if: "always() && steps.checkout.conclusion == 'success'" |
| working-directory: pkgs/test_api |
| run: pub upgrade --no-precompile |
| - name: "pkgs/test_api; pub run test --preset travis -x browser" |
| if: "always() && steps.pkgs_test_api_pub_upgrade.conclusion == 'success'" |
| working-directory: pkgs/test_api |
| run: pub run test --preset travis -x browser |
| needs: |
| - job_001 |
| - job_002 |
| job_009: |
| 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 |