when:
  - event: tag
  - event: manual

steps:
  build:
    image: ghcr.io/void-linux/void-glibc
    environment:
      - DEPENDENCIES=bash findutils base-devel libX11-devel libXft-devel libXinerama-devel pango-devel
    commands: |
      xbps-install -Syu xbps $${DEPENDENCIES}
      cp -f config.mk patches.h dwm-flexipatch/
      bash flexipatch-finalizer/flexipatch-finalizer.sh -r -d dwm-flexipatch -o dwm-final
      cp -f config.h dwm-final/
      cd dwm-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 dwm
      - DEPENDENCIES=pango>=1.44,glibc>=2.32,libX11>=1.2,libXft>=2.3.8,libXinerama>=1.0.3,fontconfig>=2.6.0
    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}" \
                  -D "$${DEPENDENCIES}" \
                  "$${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