Skip to content

Bump native SDK dependencies #146

Bump native SDK dependencies

Bump native SDK dependencies #146

Workflow file for this run

# 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"