Repository navigation
Bump native SDK dependencies #146
This file contains hidden or 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
| # This workflow will build the project on pull requests with tests | |
| # Uses: | |
| # OS: ubuntu-latest | |
| # Flutter: stable channel | |
| # Build: Flutter/Dart | |
| name: 👷🛠️ PR Builder | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| workflow_dispatch: | |
| # Avoid running multiple PR builders for the same PR on subsequent pushes. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| PRODUCT_NAME: "ThunderID" | |
| jobs: | |
| dependency-review: | |
| name: 🔎 Dependency Review | |
| if: ${{ github.event_name == 'pull_request' }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| steps: | |
| - name: 📥 Checkout Code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: 🔎 Dependency Review | |
| uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4 | |
| with: | |
| fail-on-severity: high | |
| deny-licenses: GPL-3.0-only,GPL-3.0-or-later,AGPL-3.0-only,AGPL-3.0-or-later | |
| comment-summary-in-pr: always | |
| base-ref: ${{ github.event.pull_request.base.sha }} | |
| head-ref: ${{ github.event.pull_request.head.sha }} | |
| lint: | |
| name: 🧹 Lint Code | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: 📥 Checkout Code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: 🐦 Set up Flutter | |
| uses: subosito/flutter-action@4cab68ce0f1c7c924f688bff4792e044f1aeb30c # v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - name: 📦 Get Dependencies | |
| run: flutter pub get | |
| - name: 📦 Get Sample Dependencies | |
| working-directory: samples/quickstart | |
| run: flutter pub get | |
| - name: 🔐 Create Sample .env | |
| working-directory: samples/quickstart | |
| run: cp .env.example .env | |
| - name: 🔍 Run Flutter Analyze | |
| run: flutter analyze | |
| build: | |
| name: 🛠️ Build SDK | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: 📥 Checkout Code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: 🐦 Set up Flutter | |
| uses: subosito/flutter-action@4cab68ce0f1c7c924f688bff4792e044f1aeb30c # v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - name: 📦 Get Dependencies | |
| run: flutter pub get | |
| - name: 🔨 Build SDK | |
| run: flutter pub get --dry-run | |
| test: | |
| name: 🧪 Run Tests | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: 📥 Checkout Code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: 🐦 Set up Flutter | |
| uses: subosito/flutter-action@4cab68ce0f1c7c924f688bff4792e044f1aeb30c # v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - name: 📦 Get Dependencies | |
| run: flutter pub get | |
| - name: 🧪 Run Tests | |
| run: flutter test | |
| build-sample: | |
| name: 🛠️ Build Quickstart Sample | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: 📥 Checkout Code | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - name: 🐦 Set up Flutter | |
| uses: subosito/flutter-action@4cab68ce0f1c7c924f688bff4792e044f1aeb30c # v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - name: 📦 Get Dependencies | |
| working-directory: samples/quickstart | |
| run: flutter pub get | |
| - name: 🔐 Create Sample .env | |
| working-directory: samples/quickstart | |
| run: cp .env.example .env | |
| - name: 🔨 Build Quickstart Sample | |
| working-directory: samples/quickstart | |
| run: flutter build apk --debug | |
| e2e: | |
| name: 🎭 E2E Tests | |
| if: ${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }} | |
| uses: ./.github/workflows/run-e2e-suite.yml | |
| with: | |
| # Fork PRs run without repository secrets, so the unauthenticated GitHub API call that | |
| # resolves "latest" hits its rate limit easily. The nightly workflow already exists to | |
| # catch breakage from new server releases, so pin the PR builder to a known-good | |
| # version instead of resolving it live; bump this alongside the server's own releases. | |
| thunderid-version: "1.0.1" |