<commit_before>name: Integration Tests

on:
  push:
  workflow_dispatch:
  schedule:
    - cron: '00 8 * * *' # 08:00 UTC every day


jobs:
  integrationTests:
    if: github.repository == 'GoogleCloudPlatform/spring-cloud-gcp'
    runs-on: ubuntu-20.04
    strategy:
      fail-fast: false
      matrix:
        it:
          - bigquery
          - cloudsql
          - config
          - datastore
          - firestore
          - kms
          - logging
          - metrics
          - kotlin
          - pubsub
          - pubsub-bus
          - pubsub-docs
          - pubsub-emulator
          - pubsub-integration
          - secretmanager
          - spanner
          - storage
          - trace
          - vision
    steps:
      - name: Get current date
        id: date
        run: echo "::set-output name=date::$(date +'%Y-%m-%d' --utc)"
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v1
        with:
          java-version: 11
      - uses: actions/cache@v2
        id: mvn-cache
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-unified-${{ steps.date.outputs.date }}
      - name: Setup gcloud
        uses: google-github-actions/setup-gcloud@master
        with:
          version: latest
          project_id: spring-cloud-gcp-ci
          service_account_key: ${{ secrets.SPRING_CLOUD_GCP_CI_SA_KEY }}
          export_default_credentials: true
      - name: Install pubsub-emulator
        if: ${{ matrix.it == 'pubsub-emulator' }}
        run: |
          gcloud components install pubsub-emulator beta && \
            gcloud components update
      - name: Maven go offline
        id: mvn-offline
        if: steps.mvn-cache.outputs.cache-hit != 'true'
        run: ./mvnw compile dependency:go-offline
      - name: Mvn install # Need this when the directory/pom structure changes
        id: install1
        continue-on-error: true
        run: |
          ./mvnw \
            --batch-mode \
            --threads 1.5C \
            --define maven.test.skip=true \
            --define maven.javadoc.skip=true \
            install
      - name: Retry install on failure
        id: install2
        if: steps.install1.outcome == 'failure'
        run: |
          ./mvnw \
            --batch-mode \
            --threads 1.5C \
            --define maven.test.skip=true \
            --define maven.javadoc.skip=true \
            install
      - name: Wait our turn for running integration tests
        uses: softprops/turnstyle@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          continue-after-seconds: 1200 # 30 min
      - name: Integration Tests
        id: intTest1
        continue-on-error: true
        run: |
          ./mvnw \
            --batch-mode \
            --activate-profiles spring-cloud-gcp-ci-it \
            --define maven.javadoc.skip=true \
            --define skip.surefire.tests=true \
            --define it.${{ matrix.it }}=true \
            verify
      - name: Retry on Failure
        id: intTest2
        if: steps.intTest1.outcome == 'failure'
        run: |
          ./mvnw \
            --batch-mode \
            --activate-profiles spring-cloud-gcp-ci-it \
            --define maven.javadoc.skip=true \
            --define skip.surefire.tests=true \
            --define it.${{ matrix.it }}=true \
            verify
      - name: Aggregate Report
        run: |
          ./mvnw \
            --batch-mode \
            --define aggregate=true \
            surefire-report:failsafe-report-only
      - name: Archive logs<commit_msg>Make ITs wait their turn across all branches (#376)<commit_after>name: Integration Tests

on:
  push:
  workflow_dispatch:
  schedule:
    - cron: '00 8 * * *' # 08:00 UTC every day


jobs:
  integrationTests:
    if: github.repository == 'GoogleCloudPlatform/spring-cloud-gcp'
    runs-on: ubuntu-20.04
    strategy:
      fail-fast: false
      matrix:
        it:
          - bigquery
          - cloudsql
          - config
          - datastore
          - firestore
          - kms
          - logging
          - metrics
          - kotlin
          - pubsub
          - pubsub-bus
          - pubsub-docs
          - pubsub-emulator
          - pubsub-integration
          - secretmanager
          - spanner
          - storage
          - trace
          - vision
    steps:
      - name: Get current date
        id: date
        run: echo "::set-output name=date::$(date +'%Y-%m-%d' --utc)"
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v1
        with:
          java-version: 11
      - uses: actions/cache@v2
        id: mvn-cache
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-unified-${{ steps.date.outputs.date }}
      - name: Setup gcloud
        uses: google-github-actions/setup-gcloud@master
        with:
          version: latest
          project_id: spring-cloud-gcp-ci
          service_account_key: ${{ secrets.SPRING_CLOUD_GCP_CI_SA_KEY }}
          export_default_credentials: true
      - name: Install pubsub-emulator
        if: ${{ matrix.it == 'pubsub-emulator' }}
        run: |
          gcloud components install pubsub-emulator beta && \
            gcloud components update
      - name: Maven go offline
        id: mvn-offline
        if: steps.mvn-cache.outputs.cache-hit != 'true'
        run: ./mvnw compile dependency:go-offline
      - name: Mvn install # Need this when the directory/pom structure changes
        id: install1
        continue-on-error: true
        run: |
          ./mvnw \
            --batch-mode \
            --threads 1.5C \
            --define maven.test.skip=true \
            --define maven.javadoc.skip=true \
            install
      - name: Retry install on failure
        id: install2
        if: steps.install1.outcome == 'failure'
        run: |
          ./mvnw \
            --batch-mode \
            --threads 1.5C \
            --define maven.test.skip=true \
            --define maven.javadoc.skip=true \
            install
      - name: Wait our turn for running integration tests
        uses: softprops/turnstyle@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          continue-after-seconds: 1200 # 30 min
          same-branch-only: false
      - name: Integration Tests
        id: intTest1
        continue-on-error: true
        run: |
          ./mvnw \
            --batch-mode \
            --activate-profiles spring-cloud-gcp-ci-it \
            --define maven.javadoc.skip=true \
            --define skip.surefire.tests=true \
            --define it.${{ matrix.it }}=true \
            verify
      - name: Retry on Failure
        id: intTest2
        if: steps.intTest1.outcome == 'failure'
        run: |
          ./mvnw \
            --batch-mode \
            --activate-profiles spring-cloud-gcp-ci-it \
            --define maven.javadoc.skip=true \
            --define skip.surefire.tests=true \
            --define it.${{ matrix.it }}=true \
            verify
      - name: Aggregate Report
        run: |
          ./mvnw \
            --batch-mode \
            --define aggregate=true \
            surefire-report:failsafe-report-only
      - name: Archive logs
{'fraction_non_alphanumeric': 0.10855263157894737, 'fraction_numerical': 0.009731359649122808, 'mean_word_length': 1.338032681832746, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1996042', 'n_tokens_mistral': 2222, 'n_tokens_neox': 2137, 'n_words': 481}