kind: pipeline
name: default

steps:
  - name: compile
    image: maven:3-eclipse-temurin-17
    commands:
      - mvn -B clean compile
    when:
      branch:
        - main
        - develop
        - feature/*
        - fix/*
        - release/*
  - name: unit-tests
    image: maven:3-eclipse-temurin-17
    commands:
      - mvn -B test
    when:
      branch:
        - develop
        - feature/*
        - fix/*
  - name: setup-vault
    image: alpine:latest
    environment:
      VAULT_VERSION: 1.14.0
    commands:
      - wget -q -O vault_$${VAULT_VERSION}_linux_amd64.zip https://releases.hashicorp.com/vault/$${VAULT_VERSION}/vault_$${VAULT_VERSION}_linux_amd64.zip
      - wget -q -O - https://releases.hashicorp.com/vault/$${VAULT_VERSION}/vault_$${VAULT_VERSION}_SHA256SUMS | grep linux_amd64 | sha256sum -c
      - unzip vault_$${VAULT_VERSION}_linux_amd64.zip
      - rm vault_$${VAULT_VERSION}_linux_amd64.zip
      - mkdir -p .bin
      - mv vault .bin/
    when:
      branch:
        - main
        - release/*
  - name: unit-integration-tests
    image: maven:3-eclipse-temurin-17
    environment:
      VAULT_VERSION: 1.14.0
    commands:
      - export PATH=.bin:$${PATH}
      - mvn -B -P integration-test verify
    when:
      branch:
        - main
        - release/*