mirror of
https://github.com/thegeeklab/hugo-geekblog.git
synced 2024-11-21 12:40:39 +00:00
ci: migrate to woodpecker (#430)
This commit is contained in:
parent
1b206a7913
commit
2488f30564
253
.drone.yml
253
.drone.yml
@ -1,253 +0,0 @@
|
||||
---
|
||||
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-geekblog
|
||||
- hugo --panicOnWarning -s exampleSite/ -b http://localhost:8000/ -e ci
|
||||
|
||||
- name: html-validation
|
||||
image: thegeeklab/vnu
|
||||
commands:
|
||||
- vnu --skip-non-html --also-check-css --errors-only exampleSite/public
|
||||
|
||||
- name: link-validation
|
||||
image: thegeeklab/link-validator
|
||||
commands:
|
||||
- link-validator --color=always --rate-limit 10 -e https://github.com/thegeeklab/hugo-geekblog/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-geekblog/
|
||||
- curl -sSL https://github.com/thegeeklab/hugo-geekblog/releases/latest/download/hugo-geekblog.tar.gz | tar -xz -C exampleSite/themes/hugo-geekblog/ --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-geekblog
|
||||
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
|
||||
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/
|
||||
target: /${DRONE_REPO_NAME}
|
||||
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
|
6
.github/settings.yml
vendored
6
.github/settings.yml
vendored
@ -52,7 +52,9 @@ branches:
|
||||
required_status_checks:
|
||||
strict: false
|
||||
contexts:
|
||||
- continuous-integration/drone/pr
|
||||
enforce_admins: true
|
||||
- ci/woodpecker/pr/test
|
||||
- ci/woodpecker/pr/build-package
|
||||
- ci/woodpecker/pr/docs
|
||||
enforce_admins: false
|
||||
required_linear_history: true
|
||||
restrictions: null
|
||||
|
@ -9,13 +9,18 @@ ci:
|
||||
- http://localhost/posts/usage/getting-started/
|
||||
settings:
|
||||
chromeFlags: "--no-sandbox"
|
||||
onlyCategories: ['performance', 'accessibility', 'best-practices', 'seo']
|
||||
skipAudits: ["color-contrast", "uses-long-cache-ttl", "csp-xss", "bf-cache", "is-crawlable", "image-size-responsive"]
|
||||
assert:
|
||||
preset: "lighthouse:no-pwa"
|
||||
assertions:
|
||||
color-contrast: off
|
||||
uses-long-cache-ttl: off
|
||||
csp-xss: off
|
||||
# FIXME: https://github.com/GoogleChrome/lighthouse/issues/14957
|
||||
bf-cache: off
|
||||
is-crawlable: off
|
||||
image-size-responsive: off
|
||||
tap-targets: warn
|
||||
unsized-images: warn
|
||||
# FIXME: https://github.com/GoogleChrome/lighthouse/issues/11460
|
||||
|
0
.vnuignore
Normal file
0
.vnuignore
Normal file
60
.woodpecker/build-package.yml
Normal file
60
.woodpecker/build-package.yml
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
when:
|
||||
- event: [pull_request, tag]
|
||||
- event: [push, manual]
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
steps:
|
||||
assets:
|
||||
image: docker.io/library/node:lts
|
||||
commands:
|
||||
- git fetch -tq
|
||||
- npm install > /dev/null
|
||||
- npm run build
|
||||
- cat VERSION
|
||||
environment:
|
||||
FORCE_COLOR: "true"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
|
||||
package:
|
||||
image: docker.io/library/node:lts
|
||||
commands:
|
||||
- npm run pack
|
||||
environment:
|
||||
FORCE_COLOR: "true"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
|
||||
checksum:
|
||||
image: quay.io/thegeeklab/alpine-tools
|
||||
commands:
|
||||
- cd dist/ && sha256sum * > ../sha256sum.txt
|
||||
|
||||
changelog-generate:
|
||||
image: quay.io/thegeeklab/git-chglog
|
||||
commands:
|
||||
- git fetch -tq
|
||||
- git-chglog --no-color --no-emoji -o CHANGELOG.md ${CI_COMMIT_TAG:---next-tag unreleased unreleased}
|
||||
|
||||
changelog-format:
|
||||
image: quay.io/thegeeklab/alpine-tools
|
||||
commands:
|
||||
- prettier CHANGELOG.md
|
||||
- prettier -w CHANGELOG.md
|
||||
|
||||
publish-github:
|
||||
image: docker.io/plugins/github-release
|
||||
settings:
|
||||
api_key:
|
||||
from_secret: github_token
|
||||
files:
|
||||
- dist/*
|
||||
- sha256sum.txt
|
||||
note: CHANGELOG.md
|
||||
overwrite: true
|
||||
title: ${CI_COMMIT_TAG}
|
||||
when:
|
||||
- event: [tag]
|
||||
|
||||
depends_on:
|
||||
- test
|
82
.woodpecker/docs.yml
Normal file
82
.woodpecker/docs.yml
Normal file
@ -0,0 +1,82 @@
|
||||
---
|
||||
when:
|
||||
- event: [pull_request, tag]
|
||||
- event: [push, manual]
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
steps:
|
||||
markdownlint:
|
||||
image: quay.io/thegeeklab/markdownlint-cli
|
||||
commands:
|
||||
- markdownlint 'exampleSite/content/**/*.md' 'README.md' 'CONTRIBUTING.md'
|
||||
|
||||
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"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
|
||||
assets:
|
||||
image: docker.io/library/node:lts
|
||||
commands:
|
||||
- npm install > /dev/null
|
||||
- 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}
|
||||
|
||||
assets-main:
|
||||
image: docker.io/library/node:lts
|
||||
commands:
|
||||
- npm install > /dev/null
|
||||
- npm run build
|
||||
- npm run svg-sprite-list
|
||||
- mkdir -p exampleSite/themes/ && ln -s $(pwd)/ exampleSite/themes/${CI_REPO_NAME}
|
||||
environment:
|
||||
FORCE_COLOR: "true"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
when:
|
||||
- event: [pull_request]
|
||||
|
||||
build:
|
||||
image: quay.io/thegeeklab/hugo:0.115.2
|
||||
commands:
|
||||
- hugo --panicOnWarning -s exampleSite/
|
||||
|
||||
beautify:
|
||||
image: quay.io/thegeeklab/alpine-tools
|
||||
commands:
|
||||
- html-beautify -r -f 'exampleSite/public/**/*.html'
|
||||
environment:
|
||||
FORCE_COLOR: "true"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
|
||||
publish:
|
||||
image: quay.io/thegeeklab/wp-s3-action
|
||||
settings:
|
||||
access_key:
|
||||
from_secret: s3_access_key
|
||||
bucket: geekdocs
|
||||
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/
|
||||
target: /${CI_REPO_NAME}
|
||||
when:
|
||||
- event: [tag]
|
||||
- event: [push, manual]
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
depends_on:
|
||||
- build-package
|
26
.woodpecker/notify.yml
Normal file
26
.woodpecker/notify.yml
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
when:
|
||||
- event: [tag]
|
||||
- event: [push, manual]
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
runs_on: [success, failure]
|
||||
|
||||
steps:
|
||||
matrix:
|
||||
image: quay.io/thegeeklab/wp-matrix
|
||||
settings:
|
||||
homeserver:
|
||||
from_secret: matrix_homeserver
|
||||
password:
|
||||
from_secret: matrix_password
|
||||
roomid:
|
||||
from_secret: matrix_roomid
|
||||
username:
|
||||
from_secret: matrix_username
|
||||
when:
|
||||
- status: [success, failure]
|
||||
|
||||
depends_on:
|
||||
- docs
|
54
.woodpecker/test.yml
Normal file
54
.woodpecker/test.yml
Normal file
@ -0,0 +1,54 @@
|
||||
---
|
||||
when:
|
||||
- event: [pull_request, tag]
|
||||
- event: [push, manual]
|
||||
branch:
|
||||
- ${CI_REPO_DEFAULT_BRANCH}
|
||||
|
||||
steps:
|
||||
eslint:
|
||||
image: docker.io/library/node:lts
|
||||
commands:
|
||||
- npm install > /dev/null
|
||||
- npm run lint
|
||||
environment:
|
||||
FORCE_COLOR: "true"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
|
||||
assets:
|
||||
image: docker.io/library/node:lts
|
||||
commands:
|
||||
- npm install > /dev/null
|
||||
- npm run build
|
||||
environment:
|
||||
FORCE_COLOR: "true"
|
||||
NPM_CONFIG_LOGLEVEL: error
|
||||
|
||||
testbuild:
|
||||
image: quay.io/thegeeklab/hugo:0.115.2
|
||||
commands:
|
||||
- mkdir -p exampleSite/themes/ && ln -s $(pwd)/ exampleSite/themes/${CI_REPO_NAME}
|
||||
- hugo --panicOnWarning -s exampleSite/ -b http://localhost:8000/
|
||||
|
||||
html-validation:
|
||||
image: quay.io/thegeeklab/vnu
|
||||
group: test
|
||||
commands:
|
||||
- vnu --skip-non-html --also-check-css --errors-only --filterfile .vnuignore exampleSite/public
|
||||
|
||||
link-validation:
|
||||
image: quay.io/thegeeklab/link-validator
|
||||
group: test
|
||||
commands:
|
||||
- link-validator --color=always --rate-limit 10 --timeout 60 -e https://github.com/thegeeklab/${CI_REPO_NAME}/edit/main/.* -e https://unsplash.com.*
|
||||
environment:
|
||||
LINK_VALIDATOR_BASE_DIR: exampleSite/public
|
||||
LINK_VALIDATOR_RETRIES: "3"
|
||||
|
||||
page-validation:
|
||||
image: quay.io/thegeeklab/lhci:0.12
|
||||
group: test
|
||||
commands:
|
||||
- lhci autorun
|
||||
environment:
|
||||
LHCI_SERVER_URL: https://drone-artifact.rknet.org/${CI_REPO_NAME}/
|
1
hugo-geekblog
Symbolic link
1
hugo-geekblog
Symbolic link
@ -0,0 +1 @@
|
||||
/home/rknet/rkau2905/Devel/private/hugo/hugo-geekblog/
|
Loading…
Reference in New Issue
Block a user