Run additional analysis #136
Workflow file for this run
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 | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
define-matrix: | |
runs-on: ubuntu-latest | |
name: 'Discover packages' | |
outputs: | |
packages: ${{ steps.packages.outputs.packages }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Discover packages | |
id: packages | |
run: | | |
packages=$(ls -d packages/* | xargs -n 1 basename | jq -R -s -c 'split("\n")[:-1]') | |
echo "packages=${packages}" >> $GITHUB_OUTPUT | |
static-analysis: | |
runs-on: ubuntu-latest | |
needs: define-matrix | |
strategy: | |
fail-fast: false | |
matrix: | |
package: ${{ fromJson(needs.define-matrix.outputs.packages) }} | |
name: '${{ matrix.package }}: Static Analysis' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dart-lang/setup-dart@v1 | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.PUB_CACHE }} | |
key: ${{ runner.os }}-pub | |
- name: Install dependencies | |
run: dart pub get | |
working-directory: packages/${{ matrix.package }} | |
- name: Verify formatting | |
continue-on-error: true | |
run: dart format --output=none --set-exit-if-changed . | |
working-directory: packages/${{ matrix.package }} | |
- name: Run build_runner | |
if: contains(fromJson('[ "kiota_abstractions", "kiota_http" ]'), matrix.package) | |
run: dart run build_runner build --delete-conflicting-outputs | |
working-directory: packages/${{ matrix.package }} | |
- name: Analyze project source | |
continue-on-error: true | |
run: dart analyze --fatal-infos | |
working-directory: packages/${{ matrix.package }} | |
- name: Run pana | |
uses: axel-op/dart-package-analyzer@v3 | |
with: | |
relativePath: packages/${{ matrix.package }} | |
test: | |
runs-on: ubuntu-latest | |
needs: define-matrix | |
strategy: | |
matrix: | |
package: ${{ fromJson(needs.define-matrix.outputs.packages) }} | |
name: '${{ matrix.package }}: Test' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dart-lang/setup-dart@v1 | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.PUB_CACHE }} | |
key: ${{ runner.os }}-pub | |
- name: Install dependencies | |
run: dart pub get | |
working-directory: packages/${{ matrix.package }} | |
- name: Run build_runner | |
if: contains(fromJson('[ "kiota_abstractions", "kiota_http" ]'), matrix.package) | |
run: dart run build_runner build --delete-conflicting-outputs | |
working-directory: packages/${{ matrix.package }} | |
- name: Run tests | |
run: dart test | |
working-directory: packages/${{ matrix.package }} |