stages:
  - build-package
  - build-container

build-deb-packages:
    image: maven:3-eclipse-temurin-17-focal
    stage: build-package
    script:
        - mvn antrun:run
        - mvn package
        - mvn jdeb:jdeb
        - mv /builds/jonasled/fess-search-engine/target/releases/*.deb fess.deb
    artifacts:
        paths:
            - fess.deb

build-docker:
  # Use the official docker image.
  image: gitlab.jonasled.de/jonasled/buildx-docker:latest
  retry: 2
  stage: build-container
  services:
    - docker:dind
  before_script:
    - docker context create build
    - docker buildx create build --use
    - docker run --rm --privileged docker/binfmt:66f9012c56a8316f9244ffd7622d7c21c1f6f28d
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  # Default branch leaves tagempty (= latest tag)
  # All other branches are tagged with the escaped branch name (commit ref slug)
  script:
    - |
      if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
        tag="latest"
      else
        tag="$CI_COMMIT_REF_SLUG"
      fi
    - docker buildx build --platform linux/amd64 --push --tag "$CI_REGISTRY_IMAGE:${tag}" .
  dependencies:
    - build-deb-packages