image: denoland/deno:2.1.1

default:
  interruptible: true

stages:
  - test

test:
  stage: test
  script:
    - deno fmt --check
    - deno lint
    - deno task check
    - deno task test --coverage=cov_profile
    - deno coverage cov_profile
  coverage: /All files[^\|]*\|[^\|]*\s+([\d\.]+)/
  services:
    - postgres:16
  variables:
    DITTO_NSEC: nsec1zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs4rm7hz
    DATABASE_URL: postgres://postgres:postgres@postgres:5432/postgres
    POSTGRES_HOST_AUTH_METHOD: trust
    RUST_BACKTRACE: 1
  artifacts:
    when: always
    paths:
      - deno-test.xml
    reports:
      junit: deno-test.xml
