Skip to content

feat: Update swagger to remove /api/v1 (#333) #593

feat: Update swagger to remove /api/v1 (#333)

feat: Update swagger to remove /api/v1 (#333) #593

Workflow file for this run

name: Mobile Frontend CI
on:
push:
branches:
- main
paths:
- "clients/mobile/**"
- "clients/shared/**"
- "backend/docs/**"
- ".github/workflows/MobileCI.yaml"
pull_request:
branches:
- main
paths:
- "clients/mobile/**"
- "clients/shared/**"
- "backend/docs/**"
- ".github/workflows/MobileCI.yaml"
permissions:
contents: read
checks: write
pull-requests: write
jobs:
secrets-scan:
name: Secrets Scan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: TruffleHog secrets scan
uses: trufflesecurity/trufflehog@main
with:
extra_args: --only-verified
mobile-lint:
name: Lint
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./clients/mobile
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: "./clients/mobile/package.json"
cache: "npm"
cache-dependency-path: "./clients/mobile/package-lock.json"
- name: Install dependencies
run: npm ci
- name: Install shared dependencies
run: cd ../shared && npm ci
- name: Generate API types
run: cd ../shared && npm run generate:api
- name: Run ESLint
run: npm run lint
- name: Check code formatting
run: npm run format:check
mobile-typecheck:
name: Type Check
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./clients/mobile
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: "./clients/mobile/package.json"
cache: "npm"
cache-dependency-path: "./clients/mobile/package-lock.json"
- name: Install dependencies
run: npm ci
- name: Install shared dependencies
run: cd ../shared && npm ci
- name: Generate API types
run: cd ../shared && npm run generate:api
- name: Run TypeScript compiler
run: npx tsc --noEmit
mobile-test:
name: Test
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./clients/mobile
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- uses: actions/setup-node@v4
with:
node-version-file: "./clients/mobile/package.json"
cache: "npm"
cache-dependency-path: "./clients/mobile/package-lock.json"
- name: Install dependencies
run: npm ci
- name: Install shared dependencies
run: cd ../shared && npm ci
- name: Generate API types
run: cd ../shared && npm run generate:api
- name: Install Doppler CLI
uses: dopplerhq/cli-action@v3
- name: Run tests with coverage
# Not needed currently, just for builds and deployment using doppler run command
env:
DOPPLER_TOKEN: ${{ secrets.DOPPLER_TOKEN_MOBILE }}
run: npm run test:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/lcov.info
flags: mobile
mobile-build:
name: Build Validation
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./clients/mobile
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: "./clients/mobile/package.json"
cache: "npm"
cache-dependency-path: "./clients/mobile/package-lock.json"
- name: Install dependencies
run: npm ci
- name: Install shared dependencies
run: cd ../shared && npm ci
- name: Generate API types
run: cd ../shared && npm run generate:api
- name: Verify package-lock.json is up to date
run: |
npm install --package-lock-only
git diff --exit-code package-lock.json