| name: swiftgen | |
| on: | |
| # Run on PRs and pushes to the default branch. | |
| push: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/swiftgen.yaml' | |
| - 'pkgs/ffigen/**' | |
| - 'pkgs/native_test_helpers/**' | |
| - 'pkgs/objective_c/**' | |
| - 'pkgs/swift2objc/**' | |
| - 'pkgs/swiftgen/**' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - '.github/workflows/swiftgen.yaml' | |
| - 'pkgs/ffigen/**' | |
| - 'pkgs/native_test_helpers/**' | |
| - 'pkgs/objective_c/**' | |
| - 'pkgs/swift2objc/**' | |
| - 'pkgs/swiftgen/**' | |
| schedule: | |
| - cron: "0 0 * * 0" | |
| env: | |
| PUB_ENVIRONMENT: bot.github | |
| jobs: | |
| # Check code formatting and static analysis. | |
| analyze: | |
| runs-on: macos-latest | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| working-directory: pkgs/swiftgen/ | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| with: | |
| persist-credentials: false | |
| - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 | |
| with: | |
| channel: master | |
| - id: install | |
| name: Install dependencies | |
| run: dart pub get && dart pub get --directory="example" | |
| - name: Check formatting | |
| run: dart format --output=none --set-exit-if-changed . | |
| if: always() && steps.install.outcome == 'success' | |
| - name: Analyze code | |
| run: dart analyze --fatal-infos | |
| if: always() && steps.install.outcome == 'success' | |
| test-mac: | |
| needs: analyze | |
| runs-on: 'macos-latest' | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| working-directory: pkgs/swiftgen/ | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| with: | |
| persist-credentials: false | |
| - uses: subosito/flutter-action@1a449444c387b1966244ae4d4f8c696479add0b2 | |
| with: | |
| channel: master | |
| - name: Install dependencies | |
| run: dart pub get | |
| - name: Install coverage | |
| run: dart pub global activate coverage | |
| - name: Run VM tests and collect coverage | |
| run: dart pub global run coverage:test_with_coverage --scope-output=swiftgen | |
| - name: Upload coverage | |
| uses: codecov/codecov-action@0fb7174895f61a3b6b78fc075e0cd60383518dac # v5 | |
| with: | |
| files: pkgs/swiftgen/coverage/lcov.info | |
| flags: swiftgen | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false | |