Skip to content
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
4a04a35
wip
typotter Aug 19, 2024
4287cf3
wip
typotter Aug 19, 2024
6c45973
names
typotter Aug 19, 2024
874666d
reuse workflow as top level job
typotter Aug 19, 2024
329d1c3
wip branch reference
typotter Aug 19, 2024
b953942
interpolate
typotter Aug 19, 2024
9c0b22f
test data branch
typotter Aug 19, 2024
814d43e
no vars
typotter Aug 19, 2024
9956312
node server sdk
typotter Aug 20, 2024
ce829b1
on push workflow
typotter Aug 20, 2024
fa12480
update dot-net SDK calls
typotter Aug 20, 2024
a4568fd
pushonbranch
typotter Aug 20, 2024
a782469
spec main branch of SDKs on local test
typotter Aug 20, 2024
d2f80cf
on pull pushes
typotter Aug 20, 2024
b00dd2d
extract var
typotter Aug 20, 2024
6b51782
remove testing extras
typotter Aug 20, 2024
ec1482f
run on standard PR events (sync, open, reopen)
typotter Aug 20, 2024
f54ef48
env scope is not available inside uses job
typotter Aug 20, 2024
9a2f434
ensure run on pulls
typotter Aug 20, 2024
2f98040
merge main
typotter Aug 20, 2024
b2f80fb
java sdk
typotter Aug 20, 2024
bcdbb1d
enable testing remote on PR push
typotter Aug 20, 2024
6dc088c
correct java test file name
typotter Aug 20, 2024
44eca8a
add js-client-sdk
typotter Aug 21, 2024
ae7a3f8
Add python SDK
typotter Aug 21, 2024
ae56e90
syntax
typotter Aug 21, 2024
e4149d3
merge main
typotter Aug 29, 2024
59efb63
react native client
typotter Aug 29, 2024
42ca234
run on WIP branches
typotter Aug 29, 2024
41db4fd
right sdk
typotter Aug 29, 2024
348b536
golang SDK
typotter Aug 29, 2024
c3c3b0a
branch spec
typotter Aug 29, 2024
f7a8bdd
react repo
typotter Aug 29, 2024
2d57214
drop ruby repo, as the Ruby SDK is built with Rust
typotter Aug 29, 2024
5cf71c6
ios sdk
typotter Aug 29, 2024
1dd1d1b
correct repo
typotter Aug 29, 2024
12737f5
need to spec main branch
typotter Aug 29, 2024
1be8085
android SDK
typotter Aug 29, 2024
3aec1bb
missed an 'a' in .yaml
typotter Aug 29, 2024
b74fd6d
temp android branch
typotter Aug 29, 2024
e27d112
remove testing workflow trigger
typotter Aug 29, 2024
fc297ff
merge main
typotter Sep 12, 2024
bfa4789
remove temp refs
typotter Sep 12, 2024
215941c
merge main
typotter Sep 12, 2024
7be44d3
don't fail fast
typotter Sep 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 141 additions & 0 deletions .github/workflows/test-sdks-remote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,30 @@ on:
push:
branches:
- main
- tp/*
workflow_dispatch:

jobs:

test-java-sdk:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing Eppo-exp/java-server-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: java-server-sdk
workflow_file_name: lint-test-sdk.yml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-php-sdk:
runs-on: ubuntu-latest
Expand All @@ -28,6 +49,86 @@ jobs:
trigger_workflow: true
wait_workflow: true

test-node-client-sdk:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing eppo-exp/js-client-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: js-client-sdk
workflow_file_name: lint-test-sdk.yml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-react-native-client:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing eppo-exp/react-native-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: react-native-sdk
workflow_file_name: ci.yml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-python-sdk:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing eppo-exp/python-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: python-sdk
workflow_file_name: lint-test-sdk.yml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-android-sdk:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing eppo-exp/android-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: android-sdk
workflow_file_name: test.yaml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-node-server-sdk:
runs-on: ubuntu-latest
steps:
Expand All @@ -48,6 +149,46 @@ jobs:
trigger_workflow: true
wait_workflow: true

test-ios-sdk:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing eppo-exp/eppo-ios-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: eppo-ios-sdk
workflow_file_name: unit-tests.yml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-golang-sdk:
runs-on: ubuntu-latest
steps:
- name: Display workflow details
shell: bash
run: |
echo "Testing eppo-exp/golang-sdk"
- name: Run remote workflow
uses: convictional/[email protected]
with:
owner: Eppo-exp
repo: golang-sdk
workflow_file_name: test.yml
ref: tp/workflows/remote
github_token: ${{ secrets.AUTH_TOKEN }}
wait_interval: 10
propagate_failure: true
trigger_workflow: true
wait_workflow: true

test-dotnet-sdk:
runs-on: ubuntu-latest
steps:
Expand Down
202 changes: 31 additions & 171 deletions .github/workflows/test-sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,201 +9,61 @@ on:
jobs:

test-java-sdk:
runs-on: macos-latest
steps:
- name: Check out Java SDK
uses: actions/checkout@v3
with:
repository: 'Eppo-exp/java-server-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: Run tests
run: make test
uses: Eppo-exp/java-server-sdk/.github/workflows/lint-test-sdk.yml@tp/workflows/remote
with:
test_data_branch: ${{ github.head_ref || github.ref_name }}
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@tp/workflows/remote
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:
test_data_branch: ${{ github.head_ref || github.ref_name }}
sdk_branch: main

test-node-client-sdk:
runs-on: ubuntu-latest
steps:
- name: Check out node client SDK
uses: actions/checkout@v3
with:
repository: 'Eppo-exp/js-client-sdk'
- name: Use Node.js 18
uses: actions/setup-node@v1
with:
node-version: '18.x'
- uses: actions/cache@v2
with:
path: './node_modules'
key: ${{ runner.os }}-root-node-modules-${{ hashFiles('./yarn.lock') }}
- name: 'Set up GCP SDK for downloading test data'
uses: 'google-github-actions/setup-gcloud@v0'
- name: Install SDK dependencies
run: yarn --frozen-lockfile
working-directory: ./
- name: Run tests
run: yarn test
working-directory: ./

uses: Eppo-exp/js-client-sdk/.github/workflows/lint-test-sdk.yml@tp/workflows/remote
with:
test_data_branch: ${{ github.head_ref || github.ref_name }}
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@tp/workflows/remote
with:
test_data_branch: ${{ github.head_ref || github.ref_name }}
sdk_branch: main

test-python-sdk:
runs-on: ubuntu-latest
steps:
- name: 'Check out Python SDK'
uses: "actions/checkout@v3"
- name: "Run test action"
uses: 'Eppo-exp/python-sdk/.github/actions/action-test@tp/workflows/remote'
with:
repository: 'Eppo-exp/python-sdk'
- name: Install Python 3.9
uses: "actions/setup-python@v2"
with:
python-version: '3.9.x'
- name: "Install dependencies"
run: |
python -VV
python -m pip install --upgrade pip setuptools wheel
python -m pip install -r requirements.txt
python -m pip install -r requirements-test.txt
- name: 'Set up GCP SDK to download test data'
uses: 'google-github-actions/setup-gcloud@v0'
- name: Run tests
run: make test
test_data_branch: ${{ github.head_ref || github.ref_name }}
sdk_branch: main

test-php-sdk:
uses: Eppo-exp/php-sdk/.github/workflows/run-tests.yml@main
with:
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@tp/workflows/remote
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@tp/workflows/remote
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
Expand Down
Loading