Skip to content

Auto alternative

Auto alternative #89

Workflow file for this run

name: Integration tests
on:
pull_request:
workflow_dispatch:
inputs:
tat-tests:
description: Run these tests from tyk-automated-tests to run, added to the pytest command line
type: string
default: 'tests/gateway_api'
tyk-version:
description: ECR docker tag to use
type: string
default: master
tyk-analytics-version:
description: ECR docker tag to use
type: string
default: master
tyk-pump-version:
description: ECR docker tag to use
type: string
default: master
tyk-sink-version:
description: ECR docker tag to use
type: string
default: master
workflow_call:
inputs:
tat-tests:
description: Run these tests from tyk-automated-tests to run, added to the pytest command line
type: string
default: 'tests/gateway_api'
tyk-version:
description: ECR docker tag to use
type: string
default: master
tyk-analytics-version:
description: ECR docker tag to use
type: string
default: master
tyk-pump-version:
description: ECR docker tag to use
type: string
default: master
tyk-sink-version:
description: ECR docker tag to use
type: string
default: master
env:
GOPRIVATE: github.com/TykTechnologies
permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
jobs:
pro:
name: tyk-automated-tests on Tyk Pro
runs-on: ubuntu-latest
steps:
- uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::754489498669:role/ecr_rw_tyk
role-session-name: cipush
aws-region: eu-central-1
- uses: aws-actions/amazon-ecr-login@v1
id: ecr
- uses: actions/checkout@v3
- name: env up
working-directory: auto
env:
confs_dir: /__w/tyk-pro/tyk-pro/auto/pro
graphql_data: /__w/tyk-pro/tyk-pro/compose/volumes/test/graphql-faker
certs_dir: /__w/tyk-pro/tyk-pro/compose/volumes/gw/certs
run: |
ls $confs_dir
ls $graphql_data
ls $certs_dir
echo "registry=${{ steps.ecr.outputs.registry }}
tyk_sink_image=\${registry}/tyk-sink:${{ inputs.tyk-sink-version || 'v2.1.1' }}
tyk_image=\${registry}/tyk:${{ inputs.tyk-version || 'v4.3.4' }}
tyk_analytics_image=\${registry}/tyk-analytics:${{ inputs.tyk-analytics-version || 'v4.3.3' }}
tyk_pump_image=\${registry}/tyk-pump:${{ inputs.tyk-pump-version || 'v1.7.0' }}" > versions.env
# bring up env
cat versions.env
docker compose -f ${{ github.job }}.yml -f deps.yml --env-file versions.env --env-file tat.env up --quiet-pull -d
- name: Docker ps
if: ${{always()}}
run: docker ps
- name: Docker Compose logs
if: ${{failure()}}
working-directory: auto
run: docker compose -f ${{ github.job }}.yml -f deps.yml --env-file versions.env --env-file tat.env logs
- name: Waiting for dashboard
shell: bash
run: |
while [[ "$(curl -w ''%{http_code}'' localhost:3000/hello/)" != "200" ]];do
sleep 30
echo "waiting for dashboard '$(date +"%T")'"
docker ps -a
docker logs tyk-analytics
done
timeout-minutes: 15
- name: Run pytest
working-directory: /app
run: |
. $GITHUB_WORKSPACE/auto/test.env
echo "this are env vars"
env
docker run ${{ steps.ecr.outputs.registry }}/tyk-automated-tests:1.0.0-rc1 pytest /app/tests/gateway_api