diff --git a/.github/workflows/test-sdks-remote.yml b/.github/workflows/test-sdks-remote.yml index 062ee51e..1e868b01 100644 --- a/.github/workflows/test-sdks-remote.yml +++ b/.github/workflows/test-sdks-remote.yml @@ -13,14 +13,19 @@ jobs: test-sdks: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: sdk: + - { repo: "android-sdk", workflow: "test.yaml", ref: "main" } + - { repo: "dot-net-server-sdk", workflow: "run-tests.yml", ref: "main" } + - { repo: "eppo-ios-sdk", workflow: "unit-tests.yml", ref: "main" } + - { repo: "golang-sdk", workflow: "test.yml", ref: "main" } - { repo: "java-server-sdk", workflow: "lint-test-sdk.yml", ref: "main" } - - { repo: "php-sdk", workflow: "run-tests.yml", ref: "main" } - { repo: "js-client-sdk", workflow: "lint-test-sdk.yml", ref: "main" } - - { repo: "python-sdk", workflow: "lint-test-sdk.yml", ref: "main" } - { repo: "node-server-sdk", workflow: "lint-test-sdk.yml", ref: "main" } - - { repo: "dot-net-server-sdk", workflow: "run-tests.yml", ref: "main" } + - { repo: "php-sdk", workflow: "run-tests.yml", ref: "main" } + - { repo: "python-sdk", workflow: "lint-test-sdk.yml", ref: "main" } + - { repo: "react-native-sdk", workflow: "ci.yml", ref: "main" } steps: - name: Display workflow details shell: bash @@ -38,5 +43,3 @@ jobs: propagate_failure: true trigger_workflow: true wait_workflow: true - - diff --git a/.github/workflows/test-sdks.yml b/.github/workflows/test-sdks.yml index 8cb42e45..3201c747 100644 --- a/.github/workflows/test-sdks.yml +++ b/.github/workflows/test-sdks.yml @@ -4,8 +4,6 @@ on: pull_request: paths: - 'ufc/**' - - workflow_dispatch: jobs: @@ -17,60 +15,11 @@ jobs: sdk_branch: main test-android-sdk: - runs-on: macos-latest - steps: - - name: Check out Java SDK - uses: actions/checkout@v3 - with: - repository: 'Eppo-exp/android-sdk' - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - distribution: 'adopt' - - name: 'Set up GCP SDK' - uses: 'google-github-actions/setup-gcloud@v0' - - name: Restore gradle.properties - env: - MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} - shell: bash - run: | - mkdir -p ~/.gradle/ - echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV - echo "MAVEN_USERNAME=${MAVEN_USERNAME}" > ~/.gradle/gradle.properties - echo "MAVEN_PASSWORD=${MAVEN_PASSWORD}" >> ~/.gradle/gradle.properties - - name: Set up test data - run: make test-data - - name: Spin up emulator and run tests - id: testing - uses: ReactiveCircus/android-emulator-runner@v2 - with: - api-level: 33 - target: google_apis - arch: x86_64 - emulator-options: -no-window -gpu swiftshader_indirect -no-snapshot -noaudio -no-boot-anim -dns-server 8.8.8.8 - script: | - echo "Emulator started" - adb logcat -c # clear logs - mkdir -p app/ # create directory - touch app/emulator.log # create log file - chmod 777 app/emulator.log # allow writing to log file - adb logcat | grep EppoSDK >> app/emulator.log & # pipe all logcat messages into log file as a background process - ./gradlew connectedCheck # run tests - - name: Upload Emulator Logs - if: always() - uses: actions/upload-artifact@v2 - with: - name: emulator logs - path: app/emulator.log - - name: Upload Test Report - if: always() - uses: actions/upload-artifact@v2 - with: - name: report - path: /Users/runner/work/sdk-test-data/sdk-test-data/eppo/build/reports/androidTests/connected/index.html - + uses: Eppo-exp/android-sdk/.github/workflows/test.yaml@main + with: + test_data_branch: ${{ github.head_ref || github.ref_name }} + sdk_branch: main + test-node-server-sdk: uses: Eppo-exp/node-server-sdk/.github/workflows/lint-test-sdk.yml@main with: @@ -84,18 +33,10 @@ jobs: sdk_branch: main test-react-native-sdk: - runs-on: ubuntu-latest - steps: - - name: Checkout React Native SDK - uses: actions/checkout@v3 - with: - repository: 'Eppo-exp/react-native-sdk' - - name: Setup - uses: ./.github/actions/setup - - name: Install dependencies - run: yarn install - - name: Run tests - run: yarn test --maxWorkers=2 --coverage + uses: Eppo-exp/react-native-sdk/.github/workflows/ci.yml@main + with: + test_data_branch: ${{ github.head_ref || github.ref_name }} + sdk_branch: main test-python-sdk: runs-on: ubuntu-latest @@ -112,58 +53,17 @@ jobs: test_data_branch: ${{ github.head_ref || github.ref_name }} sdk_branch: main - test-ruby-sdk: - runs-on: ubuntu-latest - steps: - - name: Check out Ruby SDK - uses: actions/checkout@v3 - with: - repository: 'Eppo-exp/ruby-sdk' - - name: Set up Ruby 3 - uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 - with: - ruby-version: 3.0.6 - - name: Install dependencies - run: bundle install - - name: Refresh test data - run: bundle exec rake test_refreshed_data - - name: Run tests - run: bundle exec rake test - test-ios-sdk: - runs-on: macos-latest - steps: - - name: Checkout iOS SDK - uses: actions/checkout@v3 - with: - repository: 'Eppo-exp/eppo-ios-sdk' - - name: 'Set up Cloud SDK' - uses: 'google-github-actions/setup-gcloud@v1' - - name: 'Use gcloud CLI' - run: 'gcloud info' - - name: Build - run: make build - - name: Pull test data - run: make test-data - - name: Run tests - run: make test - + uses: Eppo-exp/eppo-ios-sdk/.github/workflows/unit-tests.yml@main + with: + test_data_branch: ${{ github.head_ref || github.ref_name }} + sdk_branch: main + test-golang-sdk: - runs-on: ubuntu-latest - steps: - - name: Checkout Go SDK - uses: actions/checkout@v3 - with: - repository: 'Eppo-exp/golang-sdk' - - uses: actions/setup-go@v3 - with: - go-version: 1.19 - - name: Build - run: go build -v ./... - - name: 'Set up GCP SDK for downloading test data' - uses: 'google-github-actions/setup-gcloud@v0' - - name: Run tests - run: make test + uses: Eppo-exp/golang-sdk/.github/workflows/test.yml@main + with: + test_data_branch: ${{ github.head_ref || github.ref_name }} + sdk_branch: main test-dotnet-sdk: uses: Eppo-exp/dot-net-server-sdk/.github/workflows/run-tests.yml@main