# hugo.yml
#
# Takes a repository with Hugo source, generates the static site and
# pushes the result to Codeberg pages
#
# Needs a codeberg access token (codeberg_token) as a secret in Woodpecker config
# Also uses another secret (mail) with email address for git config
#
# .domains file in the repository is copied to the output branch so custom domains work
#
# The HUGO_OUTPUT variable must be set to the build output folder configured in Hugo
#

# Exclude page pipeline to be run on "pages" branch
when:
  branch:
    exclude: pages
  event: [push, pull_request]

# Recursive cloning is used to fully clone the themes given as Git submodules
clone:
  git:
    image: woodpeckerci/plugin-git
    settings:
      recursive: true

steps:
  # Build hugo static files
  build:
    image: klakegg/hugo:ext-ubuntu-ci
    commands:
      - hugo --minify
    when:
      event: [pull_request, push]
  publish:
    image: git.merp.digital/eranmorkon/woodpecker-scp:1.1.0
    settings:
        ssh_key:
            from_secret: sshkey
        ssh_known_hosts:
            from_secret: ssh_known_hosts
        extra_flags: -r
        source: public/*
        destination: "root@static.keks.cloud:/var/www/kekskurse.de/"
