jobs:
  - pre-flight-checks
  - fmt
  - install-ui-dependencies:
      requires:
        - pre-flight-checks
  - build-go-dev:
      requires:
        - pre-flight-checks
  - test-ui:
      requires:
        - install-ui-dependencies
        - build-go-dev
        # Only main, UI, release and merge branches need to run UI tests.
        # We don't filter here however because test-ui is configured in github as
        # required so it must run, instead we short-circuit within test-ui.
  - test-go:
      requires:
        - pre-flight-checks
      # We don't filter here because this is a required CI check;
      # instead we short-circuit within the test command so it ends quickly.
  - test-go-remote-docker:
      requires:
        - pre-flight-checks
      # We don't filter here because this is a required CI check;
      # instead we short-circuit within the test command so it ends quickly.
  - test-go-race:
      requires:
        - pre-flight-checks
  - test-go-race-remote-docker:
      requires:
        - pre-flight-checks
  - semgrep:
      requires:
        - pre-flight-checks
