| name: package:oauth2 | |
| permissions: | |
| contents: read | |
| on: | |
| # Run on PRs and pushes to the default branch. | |
| push: | |
| branches: [ main ] | |
| paths: | |
| - '.github/workflows/oauth2.yaml' | |
| - 'pkgs/oauth2/**' | |
| pull_request: | |
| branches: [ main ] | |
| paths: | |
| - '.github/workflows/oauth2.yaml' | |
| - 'pkgs/oauth2/**' | |
| schedule: | |
| - cron: "0 0 * * 0" | |
| defaults: | |
| run: | |
| working-directory: pkgs/oauth2/ | |
| jobs: | |
| # Check code formatting and lints against Dart dev, check analyzer warnings | |
| # against the oldest supported SDK. | |
| analyze: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| sdk: [dev] | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| with: | |
| persist-credentials: false | |
| - uses: dart-lang/setup-dart@6afc89df92d6eb3834022f73cd65adc8cdfcb92d | |
| with: | |
| sdk: ${{ matrix.sdk }} | |
| - id: install | |
| name: Install dependencies | |
| run: dart pub get | |
| - name: Check formatting | |
| run: dart format --output=none --set-exit-if-changed . | |
| if: matrix.sdk == 'dev' && steps.install.outcome == 'success' | |
| - name: Analyze code | |
| run: dart analyze --fatal-infos | |
| if: matrix.sdk == 'dev' && steps.install.outcome == 'success' | |
| - name: Analyze code | |
| run: dart analyze | |
| if: matrix.sdk != 'dev' && steps.install.outcome == 'success' | |
| # Run tests on a matrix consisting of two dimensions: | |
| # 1. OS: ubuntu-latest, (macos-latest, windows-latest) | |
| # 2. release channel: dev | |
| test: | |
| needs: analyze | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Add macos-latest and/or windows-latest if relevant for this package. | |
| os: [ubuntu-latest] | |
| sdk: [3.4, dev] | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| with: | |
| persist-credentials: false | |
| - uses: dart-lang/setup-dart@6afc89df92d6eb3834022f73cd65adc8cdfcb92d | |
| with: | |
| sdk: ${{ matrix.sdk }} | |
| - id: install | |
| name: Install dependencies | |
| run: dart pub get | |
| - name: Run VM tests | |
| run: dart test --platform vm | |
| if: always() && steps.install.outcome == 'success' | |
| - name: Run Chrome tests | |
| run: dart test --platform chrome | |
| if: always() && steps.install.outcome == 'success' |