---
when:
  - event: [pull_request, tag]
  - event: [push, manual, cron]
    branch:
      - ${CI_REPO_DEFAULT_BRANCH}

steps:
  - name: assets
    image: quay.io/thegeeklab/alpine-tools
    commands:
      - make doc

  - name: markdownlint
    image: quay.io/thegeeklab/markdownlint-cli
    group: test
    commands:
      - markdownlint 'content/**/*.md' 'README.md'

  - name: spellcheck
    image: quay.io/thegeeklab/alpine-tools
    group: test
    commands:
      - spellchecker --files 'content/**/*.md' 'README.md' -d .dictionary -p spell indefinite-article syntax-urls frontmatter --frontmatter-keys title tags
    environment:
      FORCE_COLOR: "true"

  - name: link-validation
    image: docker.io/lycheeverse/lychee
    group: test
    commands:
      - lychee --no-progress --format detailed content/ README.md

  - name: favicons
    image: docker.io/node:lts-alpine
    commands:
      - npm install --quiet --no-progress
      - npm run build
    environment:
      FORCE_COLOR: "true"

  - name: build
    image: quay.io/thegeeklab/hugo:0.124.1
    commands:
      - hugo --panicOnWarning

  - name: beautify
    image: quay.io/thegeeklab/alpine-tools
    commands:
      - html-beautify -r -f 'public/**/*.html'

  - name: publish
    image: quay.io/thegeeklab/wp-s3-action
    settings:
      access_key:
        from_secret: s3_access_key
      bucket: thegeeklab-root
      delete: true
      endpoint:
        from_secret: s3_endpoint
      path_style: true
      secret_key:
        from_secret: s3_secret_access_key
      source: public/
      strip_prefix: public/
    when:
      - event: [tag]
      - event: [push, manual, cron]
        branch:
          - ${CI_REPO_DEFAULT_BRANCH}
        status: [success, failure]
