Configuration

QA sign-in

Let the QA agent sign in to your preview so it can verify pages behind a login.

Overview

QA verifies your acceptance criteria on the deployed preview, in a real browser. Most of an app sits behind a login, and QA can't guess how yours works. So you tell it, in ship.yml.

Without a sign-in, QA still checks everything it can reach signed out. A criterion that needs a signed-in page fails, and QA says why: it had no way in. It never improvises a login of its own.

Configuration

Add a qa.signIn block to the ship.yml at the root of your repository:

version: 1
qa:
  signIn:
    path: /login
    steps: >-
      Enter operator@riverbank.studio in the Email field and press
      "Send magic link". The demo signs you straight in.
FieldWhat it is
pathThe sign-in page, relative to the preview's address. It must start with a single /, with no backslashes or spaces, so it can never point anywhere but your preview.
stepsWhat to do on that page, in plain words. QA follows them with ordinary browser actions (typing, clicking) inside the same recorded journey as its proof. Up to 2,000 characters.

QA opens the page, follows your steps, and confirms it is signed in before it captures any proof. If the steps don't get it in, the criteria behind the login fail with that reason. It doesn't try another way.

What it's for

This is for sign-ins that need no secret: a demo login, a magic-link stub that signs you straight in, a seeded test account whose password is public.

warning

Everything in ship.yml is committed to your repository and shown to the agent. Never put a real password or token in steps. Sign-ins that need a secret, SSO or MFA aren't supported yet.

Where it's read from

SHIP reads qa.signIn from your base branch, not from the pull request under test. A pull request therefore can't change how its own QA signs in: a change to the block takes effect for missions after it merges.

How is this page?

On this page