ci: migrate to woodpecker (#690)
This commit is contained in:
parent
4978c383a0
commit
7c288f93f0
10 changed files with 228 additions and 258 deletions
252
.drone.yml
252
.drone.yml
|
@ -1,252 +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-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
|
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
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
.drone.yml
|
||||
_normalize.css
|
||||
list.json.json
|
||||
/.lighthouseci/
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
.tarignore
|
||||
.dictionary*
|
||||
.git*
|
||||
.drone*
|
||||
.woodpecker*
|
||||
.lighthouse*
|
||||
.markdownlint*
|
||||
.jsbeautify*
|
||||
|
|
63
.woodpecker/build-package.yml
Normal file
63
.woodpecker/build-package.yml
Normal file
|
@ -0,0 +1,63 @@
|
|||
---
|
||||
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
|
||||
|
||||
changelog:
|
||||
image: thegeeklab/git-chglog
|
||||
|
||||
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
|
81
.woodpecker/docs.yml
Normal file
81
.woodpecker/docs.yml
Normal file
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
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-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:
|
||||
- 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
|
51
.woodpecker/test.yml
Normal file
51
.woodpecker/test.yml
Normal file
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
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
|
||||
commands:
|
||||
- vnu --skip-non-html --also-check-css --errors-only --filterfile .vnuignore exampleSite/public
|
||||
|
||||
link-validation:
|
||||
image: quay.io/thegeeklab/link-validator
|
||||
commands:
|
||||
- link-validator --color=always --rate-limit 10 -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.11
|
||||
commands:
|
||||
- lhci autorun
|
||||
environment:
|
||||
LHCI_SERVER_URL: https://drone-artifact.rknet.org/${CI_REPO_NAME}/
|
|
@ -1,6 +1,6 @@
|
|||
# Geekdoc
|
||||
|
||||
[![Build Status](https://img.shields.io/drone/build/thegeeklab/hugo-geekdoc?logo=drone&server=https%3A%2F%2Fdrone.thegeeklab.de)](https://drone.thegeeklab.de/thegeeklab/hugo-geekdoc)
|
||||
[![Build Status](https://ci.thegeeklab.de/api/badges/thegeeklab/hugo-geekdoc/status.svg)](https://ci.thegeeklab.de/repos/thegeeklab/hugo-geekdoc)
|
||||
[![Hugo Version](https://img.shields.io/badge/hugo-0.112-blue.svg)](https://gohugo.io)
|
||||
[![GitHub release](https://img.shields.io/github/v/release/thegeeklab/hugo-geekdoc)](https://github.com/thegeeklab/hugo-geekdoc/releases/latest)
|
||||
[![GitHub contributors](https://img.shields.io/github/contributors/thegeeklab/hugo-geekdoc)](https://github.com/thegeeklab/hugo-geekdoc/graphs/contributors)
|
||||
|
|
|
@ -8,7 +8,7 @@ geekdocAnchor: false
|
|||
<!-- markdownlint-capture -->
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
|
||||
<span class="badge-placeholder">[![Build Status](https://img.shields.io/drone/build/thegeeklab/hugo-geekdoc?logo=drone&server=https%3A%2F%2Fdrone.thegeeklab.de)](https://drone.thegeeklab.de/thegeeklab/hugo-geekdoc)</span>
|
||||
<span class="badge-placeholder">[![Build Status](https://ci.thegeeklab.de/api/badges/thegeeklab/hugo-geekdoc/status.svg)](https://ci.thegeeklab.de/repos/thegeeklab/hugo-geekdoc)</span>
|
||||
<span class="badge-placeholder">[![Hugo Version](https://img.shields.io/badge/hugo-0.112-blue.svg)](https://gohugo.io)</span>
|
||||
<span class="badge-placeholder">[![GitHub release](https://img.shields.io/github/v/release/thegeeklab/hugo-geekdoc)](https://github.com/thegeeklab/hugo-geekdoc/releases/latest)</span>
|
||||
<span class="badge-placeholder">[![GitHub contributors](https://img.shields.io/github/contributors/thegeeklab/hugo-geekdoc)](https://github.com/thegeeklab/hugo-geekdoc/graphs/contributors)</span>
|
||||
|
|
Loading…
Reference in a new issue