Dart CI #854
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
name: Dart CI | |
on: | |
# Run on PRs and pushes to the default branch. | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
schedule: | |
- cron: "0 0 * * 0" | |
env: | |
PUB_ENVIRONMENT: bot.github | |
permissions: read-all | |
jobs: | |
# Check code formatting with the stable SDK. | |
format: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3 | |
with: | |
sdk: 3.3.0 | |
- id: install | |
name: Install dependencies | |
run: dart pub get | |
- name: Check formatting | |
run: dart format --output=none --set-exit-if-changed . | |
# Check static analysis against stable and dev SDKs. | |
analyze: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
sdk: [3.3.0, dev] | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3 | |
with: | |
sdk: ${{ matrix.sdk }} | |
- id: install | |
name: Install dependencies | |
run: dart pub get | |
- name: Build generated artifacts | |
run: dart pub run build_runner build | |
- name: Analyze code | |
run: dart analyze | |
# Run tests against stable and dev SDKs. | |
test: | |
needs: analyze | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
sdk: [3.3.0, dev] | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3 | |
with: | |
sdk: ${{ matrix.sdk }} | |
- id: install | |
name: Install dependencies | |
run: dart pub get | |
- name: Run VM tests | |
run: dart run build_runner test -- --platform vm | |
if: always() && steps.install.outcome == 'success' | |
- name: Run DDC build | |
run: dart run build_runner build --fail-on-severe | |
if: always() && steps.install.outcome == 'success' | |
- name: Run DDC tests | |
run: dart run build_runner test -- --platform chrome | |
if: always() && steps.install.outcome == 'success' | |
document: | |
needs: analyze | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- uses: dart-lang/setup-dart@fedb1266e91cf51be2fdb382869461a434b920a3 | |
with: | |
sdk: dev | |
- id: install | |
name: Install dependencies | |
run: | | |
dart pub get | |
dart pub global activate dartdoc | |
- name: Verify dartdoc | |
run: dart pub global run dartdoc \ | |
--no-generate-docs \ | |
--errors=unresolved-doc-reference,ambiguous-doc-reference,ambiguous-reexport,broken-link,deprecated,no-library-level-docs,unknown-directive,unknown-macro | |
if: always() && steps.install.outcome == 'success' |