WALLET-412: Run UI-based tests in CI #83
Workflow file for this run
This file contains 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
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 }} |