mirror of
https://github.com/thegeeklab/hugo-geekdoc.git
synced 2024-11-22 04:40:40 +00:00
Robert Kaussow
dc3ede1b72
BREAKING CHANGE: The `Edit page` uses the `hugo.WorkingDir` function of Hugo, which was introduced in v0.112.0. Due to this change, the minimum Hugo version for the theme has been raised accordingly.
253 lines
5.5 KiB
YAML
253 lines
5.5 KiB
YAML
---
|
|
kind: pipeline
|
|
name: test
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: eslint
|
|
image: node:lts
|
|
commands:
|
|
- npm install > /dev/null
|
|
- npm run lint
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
|
|
- name: assets
|
|
image: node:lts
|
|
commands:
|
|
- npm install > /dev/null
|
|
- npm run build
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
|
|
- name: testbuild
|
|
image: thegeeklab/hugo:0.115.2
|
|
commands:
|
|
- mkdir -p exampleSite/themes/ && ln -s $(pwd)/ exampleSite/themes/hugo-geekdoc
|
|
- hugo --panicOnWarning -s exampleSite/ -b http://localhost:8000/
|
|
|
|
- name: html-validation
|
|
image: thegeeklab/vnu
|
|
commands:
|
|
- vnu --skip-non-html --also-check-css --errors-only --filterfile .vnuignore exampleSite/public
|
|
|
|
- name: link-validation
|
|
image: thegeeklab/link-validator
|
|
commands:
|
|
- link-validator --color=always --rate-limit 10 -e https://github.com/thegeeklab/hugo-geekdoc/edit/main/.* -e https://unsplash.com.*
|
|
environment:
|
|
LINK_VALIDATOR_BASE_DIR: exampleSite/public
|
|
LINK_VALIDATOR_RETRIES: 3
|
|
|
|
- name: page-validation
|
|
image: thegeeklab/lhci:0.11
|
|
commands:
|
|
- lhci autorun
|
|
environment:
|
|
LHCI_SERVER_URL: https://drone-artifact.rknet.org/${DRONE_REPO_NAME}/
|
|
|
|
trigger:
|
|
ref:
|
|
- refs/heads/main
|
|
- refs/tags/**
|
|
- refs/pull/**
|
|
|
|
---
|
|
kind: pipeline
|
|
name: build
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: assets
|
|
image: node:lts
|
|
commands:
|
|
- git fetch -tq
|
|
- npm install > /dev/null
|
|
- npm run build
|
|
- cat VERSION
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
|
|
- name: package
|
|
image: node:lts
|
|
commands:
|
|
- npm run pack
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
|
|
- name: checksum
|
|
image: thegeeklab/alpine-tools
|
|
commands:
|
|
- cd dist/ && sha256sum * > ../sha256sum.txt
|
|
|
|
- name: changelog
|
|
image: thegeeklab/git-chglog
|
|
commands:
|
|
- git fetch -tq
|
|
- git-chglog --no-color --no-emoji ${DRONE_TAG:---next-tag unreleased unreleased}
|
|
- git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased}
|
|
|
|
- name: release
|
|
image: plugins/github-release
|
|
settings:
|
|
api_key:
|
|
from_secret: github_token
|
|
files:
|
|
- dist/*
|
|
- sha256sum.txt
|
|
note: CHANGELOG.md
|
|
overwrite: true
|
|
title: ${DRONE_TAG}
|
|
when:
|
|
ref:
|
|
- refs/tags/**
|
|
|
|
trigger:
|
|
ref:
|
|
- refs/heads/main
|
|
- refs/tags/**
|
|
- refs/pull/**
|
|
|
|
depends_on:
|
|
- test
|
|
|
|
---
|
|
kind: pipeline
|
|
name: docs
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
concurrency:
|
|
limit: 1
|
|
|
|
steps:
|
|
- name: markdownlint
|
|
image: thegeeklab/markdownlint-cli
|
|
commands:
|
|
- markdownlint 'exampleSite/content/**/*.md' 'README.md'
|
|
|
|
- name: spellcheck
|
|
image: thegeeklab/alpine-tools
|
|
commands:
|
|
- spellchecker --files 'exampleSite/content/**/*.md' 'README.md' -d .dictionary -p spell indefinite-article syntax-urls frontmatter --frontmatter-keys title --no-suggestions
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
|
|
- name: assets
|
|
image: node:lts
|
|
commands:
|
|
- npm install > /dev/null
|
|
- npm run svg-sprite-list
|
|
- mkdir -p exampleSite/themes/hugo-geekdoc/
|
|
- curl -sSL https://github.com/thegeeklab/hugo-geekdoc/releases/latest/download/hugo-geekdoc.tar.gz | tar -xz -C exampleSite/themes/hugo-geekdoc/ --strip-components=1
|
|
when:
|
|
ref:
|
|
- refs/heads/main
|
|
- refs/tags/**
|
|
|
|
- name: assets-main
|
|
image: node:lts
|
|
commands:
|
|
- npm install > /dev/null
|
|
- npm run build
|
|
- npm run svg-sprite-list
|
|
- mkdir -p exampleSite/themes/ && ln -s $(pwd)/ exampleSite/themes/hugo-geekdoc
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
when:
|
|
ref:
|
|
- refs/pull/**
|
|
|
|
- name: build
|
|
image: thegeeklab/hugo:0.115.2
|
|
commands:
|
|
- hugo --panicOnWarning -s exampleSite/
|
|
|
|
- name: beautify
|
|
image: thegeeklab/alpine-tools
|
|
commands:
|
|
- html-beautify -r -f 'exampleSite/public/**/*.html'
|
|
environment:
|
|
FORCE_COLOR: true
|
|
NPM_CONFIG_LOGLEVEL: error
|
|
|
|
- name: publish
|
|
image: thegeeklab/drone-s3-sync:2
|
|
settings:
|
|
access_key:
|
|
from_secret: s3_access_key
|
|
bucket: geekdocs-root
|
|
delete: true
|
|
endpoint: https://sp.rknet.org
|
|
path_style: true
|
|
secret_key:
|
|
from_secret: s3_secret_access_key
|
|
source: exampleSite/public/
|
|
strip_prefix: exampleSite/public/
|
|
when:
|
|
ref:
|
|
- refs/heads/main
|
|
- refs/tags/**
|
|
|
|
trigger:
|
|
ref:
|
|
- refs/heads/main
|
|
- refs/tags/**
|
|
- refs/pull/**
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
---
|
|
kind: pipeline
|
|
name: notifications
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: matrix
|
|
image: thegeeklab/drone-matrix
|
|
settings:
|
|
homeserver:
|
|
from_secret: matrix_homeserver
|
|
password:
|
|
from_secret: matrix_password
|
|
roomid:
|
|
from_secret: matrix_roomid
|
|
template: "Status: **{{ .Build.Status }}**<br/> Build: [{{ .Repo.Owner }}/{{ .Repo.Name }}]({{ .Build.Link }}){{ if .Build.Branch }} ({{ .Build.Branch }}){{ end }} by {{ .Commit.Author }}<br/> Message: {{ .Commit.Message.Title }}"
|
|
username:
|
|
from_secret: matrix_username
|
|
when:
|
|
status:
|
|
- success
|
|
- failure
|
|
|
|
trigger:
|
|
ref:
|
|
- refs/heads/main
|
|
- refs/tags/**
|
|
status:
|
|
- success
|
|
- failure
|
|
|
|
depends_on:
|
|
- test
|
|
- build
|
|
- docs
|