Skip to content

WALLET-412: Run UI-based tests in CI #83

WALLET-412: Run UI-based tests in CI

WALLET-412: Run UI-based tests in CI #83

Workflow file for this run

name: Wallet Frontend Application CI
on:
pull_request: {}
push:
branches: [ main ]
env:
CI: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
uses: inrupt/typescript-sdk-tools/.github/workflows/reusable-lint.yml@v3
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, windows-latest ]
node-version: [ "20.x" ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
hw-acceleration-sanity-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
docker build --network=host --tag inrupt-wallet-frontend-ui-tests:test --file=Dockerfile.minimal .
- run: |
# FIXME read these from secrets, this is just for initial testing
docker run -it \
--env EXPO_PUBLIC_LOGIN_URL="https://datawallet.inrupt.com/oauth2/authorization/wallet-app" \
--env EXPO_PUBLIC_WALLET_API="https://datawallet.inrupt.com" \
--env TEST_ACCOUNT_USERNAME="some-username" \
--env TEST_ACCOUNT_PASSWORD="some-password" \
inrupt-wallet-frontend-ui-tests:test
# ui-tests:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# - uses: actions/setup-java@v4
# with:
# distribution: 'temurin'
# java-version: 17
# cache: 'gradle'
# - run: echo "${{ secrets.ENCRYPTED_KEYSTORE }}" > wallet.keystore.asc
# - run: gpg -d --passphrase "${{ secrets.KEYSTORE_DECRYPTION_KEY }}" --batch wallet.keystore.asc > wallet.keystore
# - run: npm ci
# # Build the test apk to be loaded in the container.
# - run: npx expo prebuild --platform android
# env:
# SIGNING_CONFIG_PATH: ${{ github.workspace }}/android-config/signing-config.gradle
# - run: npx detox build --configuration android.emu.release
# # Build the docker image containing the Android emulator and all the test dependencies.
# - run: |
# docker build --network=host --tag inrupt-wallet-frontend-ui-tests:test .
# # Run the Detox tests in the emulator container.
# - run: |
# docker run -it \
# --env EXPO_PUBLIC_LOGIN_URL="https://datawallet.inrupt.com/oauth2/authorization/wallet-app" \
# --env EXPO_PUBLIC_WALLET_API="https://datawallet.inrupt.com" \
# # FIXME read these from secrets, this is just for initial testing
# --env TEST_ACCOUNT_USERNAME="some-username" \
# --env TEST_ACCOUNT_PASSWORD="some-password" \
# inrupt-wallet-frontend-ui-tests:test
sonarqube:
name: run sonarqube
if: ${{ github.actor != 'dependabot[bot]' }}
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checking out
uses: actions/checkout@v4
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
- name: SonarQube Scan
uses: kitabisa/[email protected]
with:
host: ${{ secrets.SONARQUBE_HOST }}
login: ${{ secrets.SONARQUBE_DEV_INRUPT_COM_GITHUB_TOKEN }}