Skip to content

setup docker for mac #1

setup docker for mac

setup docker for mac #1

Workflow file for this run

name: Test Packaged Server SDKs
on:
workflow_call:
inputs:
platform:
description: 'Platforms to test the SDK Relay on; linux, macos, windows'
type: string
required: true
os:
description: 'Specific runner OS to use'
type: string
required: true
sdkName:
description: 'Name of the SDK'
type: string
required: true
sdkRelayDir:
description: 'Directory of the SDK Relay server code'
type: string
required: false
jobs:
test-packaged-server-sdks:
runs-on: ${{ inputs.os }}
env:
SDK_NAME: ${{ inputs.sdkName }}
SDK_DIR: ${{ inputs.sdkRelayDir }}
EPPO_API_HOST: localhost
SDK_RELAY_HOST: localhost
TEST_RUNNER_HOST: localhost
EPPO_SDK_PLATFORM: ${{ inputs.platform }}
PROJECT_ID: ${{ vars.SDK_TESTING_PROJECT_ID }}
REGION: ${{ vars.SDK_TESTING_REGION }}
GAR_LOCATION: ${{ vars.SDK_TESTING_REGION }}-docker.pkg.dev/${{ vars.SDK_TESTING_PROJECT_ID }}/sdk-testing
steps:
- name: Test information header
shell: bash
run: echo "Running Test Cluster for ${SDK_NAME}"
- name: Get current date
id: date
run: |
echo "::set-output name=date::$(date +'%Y-%m-%d')"
echo "SAFE_SDK_NAME=$(echo ${SDK_NAME} | sed 's/\//_/g')" >> $GITHUB_ENV
- name: "Checkout"
uses: actions/checkout@v3
# Set up docker (macos runners)
- id: setup-docker
if: ${{ inputs.platform.platform == 'macos' }}
name: Setup Docker
uses: "douglascamata/setup-docker-macos-action"
# Set up gCloud
- id: "auth"
uses: "google-github-actions/auth@v1"
with:
credentials_json: "${{ secrets.SERVICE_ACCOUNT_KEY }}"
- name: "Set up Cloud SDK"
uses: "google-github-actions/setup-gcloud@v1"
- name: "Use gcloud CLI"
run: "gcloud info"
# Allow docker access to the GAR
- name: "Docker auth"
run: |-
gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet
# Pull test runner and testing api images for GCP Artifact Registry (GAR) and
# retag them locally as expected by the runner script.
- name: Pull Test Runner image
run: |
docker pull ${{ env.GAR_LOCATION }}/sdk-test-runner:latest
docker tag ${{ env.GAR_LOCATION }}/sdk-test-runner:latest Eppo-exp/sdk-test-runner:latest
docker pull ${{ env.GAR_LOCATION }}/testing-api:latest
docker tag ${{ env.GAR_LOCATION }}/testing-api:latest Eppo-exp/testing-api:latest
docker images
- name: Run tests
run: |
pushd package-testing/sdk-test-runner
./test-sdk.sh server ${SDK_NAME}
popd
- name: Logs
if: success() || failure() # always run even if the previous steps fail
run: |
echo "List log files"
pushd package-testing/sdk-test-runner
ls logs
cat logs/sdk.log
popd
- name: Upload Logs
if: success() || failure() # always run even if the previous steps fail
uses: actions/upload-artifact@v4
with:
name: ${{ steps.date.outputs.date }}-${{ env.SAFE_SDK_NAME }}-test-logs
path: package-testing/sdk-test-runner/logs/
- name: Publish Test Report
uses: mikepenz/action-junit-report@v5
if: success() || failure() # always run even if the previous steps fail
with:
report_paths: 'package-testing/sdk-test-runner/logs/results.xml'