Skip to content

Run Integration Tests #200

Run Integration Tests

Run Integration Tests #200

name: Run Integration Tests
on:
schedule:
- cron: "0 8 * * *"
workflow_dispatch:
inputs:
debug:
description: 'Debug'
required: false
default: false
type: boolean
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Run Integration Tests
runs-on: ubuntu-latest
permissions:
id-token: 'write'
steps:
# - name: Permissions Monitor
# uses: GitHubSecurityLab/actions-permissions/monitor@v1
- name: Checkout Repository
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup JDK
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
- name: Google Cloud Auth
uses: google-github-actions/auth@v1
with:
workload_identity_provider: ${{ secrets.GOOGLE_WORKLOAD_IDENTITY }}
service_account: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_ID }}
- name: Run Gradle Tasks
id: gradle_build
uses: gradle/gradle-build-action@v2
env:
GOOGLE_PROJECT_API_KEY: ${{ secrets.google_project_api_key }}
GOOGLE_SERVICE_ACCOUNT_ID: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_ID }}
MOBILE_SDK_APP_ID: ${{ secrets.mobile_sdk_app_id }}
PLAYGROUND_API_KEY: ${{ secrets.PLAYGROUND_API_KEY }}
with:
gradle-home-cache-cleanup: true
arguments: >
cloud-run:integrationTest
${{ inputs.debug && '--debug' || '--info' }}
--console=plain
- name: Produce Test Summary
uses: test-summary/action@v2
with:
paths: "**/build/test-results/test/TEST-*.xml"
if: ${{ always() }}
- name: Upload Test Report
uses: actions/upload-artifact@v3
with:
name: test-report
path: "**/build/reports/tests"
if-no-files-found: error
if: ${{ always() }}