Skip to content

feat(android): support background scanning #63

feat(android): support background scanning

feat(android): support background scanning #63

Workflow file for this run

name: CI
on:
push:
branches:
- main
paths-ignore:
- "**.md"
pull_request:
paths-ignore:
- "**.md"
workflow_dispatch:
env:
NODE_VERSION: 20
JAVA_VERSION: 17
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
jobs:
build:
name: Build web assets
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm access token for GitHub registry
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Build web assets
run: npm run build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: www
path: www
android:
name: Build Android platform
runs-on: ubuntu-latest
needs: [build]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: www
path: www
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set up JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: ${{ env.JAVA_VERSION }}
- name: Set npm access token for GitHub registry
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install dependencies
run: npm ci
- name: Copy web assets to native platform
run: npx ionic capacitor copy android --no-build
- name: Update native platform
run: npx ionic capacitor update android
- name: Build with Gradle
working-directory: android
run: ./gradlew build
ios:
name: Build iOS platform
runs-on: macos-latest
needs: [build]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: www
path: www
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm access token for GitHub registry
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Copy web assets to native platform
run: npx ionic capacitor copy ios --no-build
- name: Update native platform
run: npx ionic capacitor update ios
- name: Build and archive with xcodebuild
working-directory: ios
run: xcodebuild
-workspace App/App.xcworkspace
-scheme App
-archivePath App/build/App.xarchive
clean build archive
CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED=NO
CODE_SIGNING_ALLOWED="NO"
CODE_SIGN_ENTITLEMENTS=""
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm access token for GitHub registry
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install Node.js dependencies
run: npm ci
- name: Run ESLint and Prettier
run: npm run lint
test:
name: Test
runs-on: ubuntu-latest
if: false
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Set npm access token for GitHub registry
run: echo "//npm.pkg.github.com/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm run test:ci
deploy:
name: Deploy to Vercel
runs-on: ubuntu-latest
needs: [build]
concurrency: deploy
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: www
path: www
- name: Deploy to Vercel
uses: amondnet/vercel-action@v25
id: vercel-deployment
with:
vercel-token: ${{ env.VERCEL_TOKEN }}
vercel-args: ${{ github.ref == 'refs/heads/main' && '--prod' || '' }}
vercel-org-id: ${{ env.VERCEL_ORG_ID }}
vercel-project-id: ${{ env.VERCEL_PROJECT_ID }}
scope: ${{ env.VERCEL_ORG_ID }}
working-directory: www
- name: Comment the preview url
if: github.event_name == 'pull_request'
uses: peter-evans/create-or-update-comment@v3
with:
issue-number: ${{ github.event.number }}
body: |
Deploy preview available at: ${{ steps.vercel-deployment.outputs.preview-url }}
Built with commit ${{ github.event.pull_request.head.sha }}.