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

steps:
  - name: markdownlint
    image: quay.io/thegeeklab/markdownlint-cli
    commands:
      - markdownlint 'exampleSite/content/**/*.md' 'README.md' 'CONTRIBUTING.md'

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

  - name: assets
    image: docker.io/library/node:lts
    commands:
      - npm install --quiet --no-progress
      - npm run svg-sprite-list
      - mkdir -p exampleSite/themes/${CI_REPO_NAME}
      - curl -sSL https://github.com/${CI_REPO}/releases/latest/download/${CI_REPO_NAME}.tar.gz | tar -xz -C exampleSite/themes/${CI_REPO_NAME}/ --strip-components=1
    when:
      - event: [tag]
      - event: [push, manual]
        branch:
          - ${CI_REPO_DEFAULT_BRANCH}

  - name: assets-main
    image: docker.io/library/node:lts
    commands:
      - npm install --quiet --no-progress
      - npm run build
      - npm run svg-sprite-list
      - mkdir -p exampleSite/themes/ && ln -s $(pwd)/ exampleSite/themes/${CI_REPO_NAME}
    environment:
      FORCE_COLOR: "true"
    when:
      - event: [pull_request]

  - name: build
    image: quay.io/thegeeklab/hugo:0.127.0
    commands:
      - hugo --panicOnWarning -s exampleSite/

  - name: beautify
    image: quay.io/thegeeklab/alpine-tools
    commands:
      - html-beautify -r -f 'exampleSite/public/**/*.html'
    environment:
      FORCE_COLOR: "true"

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

depends_on:
  - build-package