platform: linux/amd64

variables:
  - &scw-secrets
    - SCW_ACCESS_KEY
    - SCW_SECRET_KEY
    - SCW_DEFAULT_ORGANIZATION_ID
  - &setup-hex "mix local.hex --force && mix local.rebar --force"
  - &on-release
    when:
      event:
        - push
        - tag
      branch:
        - develop
        - stable
        - refs/tags/v*
        - refs/tags/stable-*
  - &on-stable
    when:
      event:
        - push
        - tag
      branch:
        - stable
        - refs/tags/stable-*
  - &on-point-release
    when:
      event:
        - push
      branch:
        - develop
        - stable
  - &on-pr-open
    when:
      event:
        - pull_request

  - &tag-build "export BUILD_TAG=$${CI_COMMIT_TAG:-\"$CI_COMMIT_BRANCH\"} && export PLEROMA_BUILD_BRANCH=$BUILD_TAG"

  - &clean "(rm -rf release || true) && (rm -rf _build || true) && (rm -rf /root/.mix)"
  - &mix-clean "mix deps.clean --all && mix clean"

pipeline:
  lint:
    image: akkoma/ci-base:1.15-otp26
    <<: *on-pr-open
    environment:
      MIX_ENV: test
    commands:
      - mix local.hex --force
      - mix local.rebar --force
      - mix deps.get
      - mix compile
      - mix format --check-formatted
