setup docker for mac #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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' |