when:
  - event: tag
  - event: manual

steps:
  build:
    image: gcc
    environment:
      - BUILD_DEPS=libx11-dev libxft-dev libfreetype6-dev libfontconfig1-dev libharfbuzz-dev libxcursor-dev
    commands: |
      apt-get update
      apt-get install -y $${BUILD_DEPS}
      cp -f config.mk Makefile patches.h st-flexipatch/
      flexipatch-finalizer/flexipatch-finalizer.sh -r -d st-flexipatch -o st-final
      for patch in patches/*.diff; do
          patch -d st-final <"$patch"
      done
      cp -f config.h st-final/
      cd st-final || exit 1
      make clean install DESTDIR="$${CI_WORKSPACE}/pkg" PREFIX="/usr"


  package-xbps:
    image: ghcr.io/void-linux/void-musl-busybox
    environment:
      - LICENSE=GPL-2.0
      - SHORT_DESCRIPTION=Customized st
    commands: |
      xbps-create -A x86_64 \
                  -H "$${CI_REPO_URL}" \
                  -l "$${LICENSE}" \
                  -n "$${CI_REPO_NAME}-$${CI_COMMIT_TAG}_1" \
                  -m "$${CI_COMMIT_AUTHOR} <$${CI_COMMIT_AUTHOR_EMAIL}>" \
                  -s "$${SHORT_DESCRIPTION}" \
                  "$${CI_WORKSPACE}/pkg"

  package-targz:
    image: alpine
    commands: |
      tar czf $${CI_REPO_NAME}-$${CI_COMMIT_TAG}.tar.gz --directory=$${CI_WORKSPACE}/pkg .

  publish:
    image: woodpeckerci/plugin-gitea-release
    settings:
      base_url: https://git.snaile.de
      files:
        - "${CI_REPO_NAME}-${CI_COMMIT_TAG}.tar.gz"
      api_key:
        from_secret: gitea_release
      target: main

  publish-xbps:
    image: ghcr.io/void-linux/void-musl-busybox
    environment:
      - XBPS_TARGET_ARCH=x86_64
    secrets: 
      - source: xbps_pem_passphrase
        target: XBPS_PASSPHRASE
    volumes:
      - /var/www/xbps:/target
      - /etc/woodpecker/:/etc/woodpecker:ro
    commands: |
      export XBPS_TARGET_ARCH
      mv $${CI_REPO_NAME}-$${CI_COMMIT_TAG}_1.x86_64.xbps /target
      xbps-rindex -a /target/$${CI_REPO_NAME}-$${CI_COMMIT_TAG}_1.x86_64.xbps
      xbps-rindex -S --signedby "$${CI_COMMIT_AUTHOR} <$${CI_COMMIT_AUTHOR_EMAIL}>" --privkey /etc/woodpecker/privkey.pem /target/$${CI_REPO_NAME}-$${CI_COMMIT_TAG}_1.x86_64.xbps