diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/smoke-tests.yml new file mode 100644 index 00000000000..7ebbf028aed --- /dev/null +++ b/.github/workflows/smoke-tests.yml @@ -0,0 +1,59 @@ +name: Smoke Tests + +on: [ pull_request ] + +jobs: + smoke-tests: + if: github.event.pull_request.head.repo.full_name == github.repository + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 2 + submodules: true + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: 11 + distribution: temurin + cache: gradle + - name: Set up NDK 21.4.7075529 + run: | + ANDROID_ROOT=/usr/local/lib/android + ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk + ANDROID_NDK_ROOT=${ANDROID_SDK_ROOT}/ndk-bundle + SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager + echo "y" | $SDKMANAGER "ndk;21.4.7075529" + ln -sfn ${ANDROID_SDK_ROOT}/ndk/21.4.7075529 ${ANDROID_NDK_ROOT} + echo "ANDROID_NDK_HOME=${ANDROID_NDK_ROOT}" >> $GITHUB_ENV + - uses: google-github-actions/auth@v0 + with: + credentials_json: ${{ secrets.GCP_SERVICE_ACCOUNT }} + - uses: google-github-actions/setup-gcloud@v0 + + # TODO(yifany): make it a fireci plugin and remove the separately distributed jar file + - name: Download smoke tests runner + run: | + SMOKE_TESTS_RUNNER_URL="https://storage.googleapis.com/android-ci/smoke-tests-runner.jar" + curl ${SMOKE_TESTS_RUNNER_URL} --output runner.jar + + # TODO(yifany): remove hardcoded reference to /smoke-tests-google-services from the runner + - name: Add google-services.json + env: + SMOKE_TESTS_GOOGLE_SERVICES: ${{ secrets.SMOKE_TESTS_GOOGLE_SERVICES }} + run: | + echo $SMOKE_TESTS_GOOGLE_SERVICES | base64 -d > google-services.json + sudo mkdir /smoke-tests-google-services + sudo mv google-services.json /smoke-tests-google-services + + # TODO(yifany): remove hardcoded reference to Prow environment variables from the runner + - name: Run smoke tests + env: + FIREBASE_CI: 1 + REPO_OWNER: ${{ github.repository_owner }} + REPO_NAME: firebase-android-sdk + PULL_NUMBER: ${{ github.event.pull_request.number }} + JOB_NAME: smoke-tests + BUILD_ID: ${{ github.run_id }} + ARTIFACTS: ${{ runner.temp }} + run: java -jar runner.jar smoke-tests/runner.config