name: Reusable Run E2E Test Suite Workflow on: workflow_call: inputs: snjs_image_tag: type: string default: latest description: The Docker image tag used for SNJS container secrets: DOCKER_USERNAME: required: true DOCKER_PASSWORD: required: true AWS_ACCESS_KEY_ID: required: true AWS_SECRET_ACCESS_KEY: required: true jobs: e2e: strategy: matrix: database: [ "mysql", "sqlite" ] include: - cache: "redis" database: "mysql" - cache: "memory" database: "sqlite" runs-on: ubuntu-latest services: snjs: image: standardnotes/snjs:${{ inputs.snjs_image_tag }} ports: - 9001:9001 steps: - uses: actions/checkout@v3 - name: Set up Node uses: actions/setup-node@v3 with: registry-url: 'https://registry.npmjs.org' node-version-file: '.nvmrc' - name: Run Server run: docker compose -f docker-compose.ci.yml up -d env: DB_TYPE: ${{ matrix.database }} CACHE_TYPE: ${{ matrix.cache }} - name: Wait for server to start run: docker/is-available.sh http://localhost:3123 $(pwd)/logs - name: Run E2E Test Suite run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html