ci: migrate to woodpecker ci (#276)

Reviewed-on: #276
Co-authored-by: Robert Kaussow <mail@thegeeklab.de>
Co-committed-by: Robert Kaussow <mail@thegeeklab.de>
This commit is contained in:
Robert Kaussow 2023-12-15 10:32:08 +01:00 committed by Robert Kaussow
parent aa6789b30c
commit eef92e0253
6 changed files with 101 additions and 133 deletions

View File

@ -81,3 +81,5 @@ UDM
Kaufland
Feorda
CentOS
Thinkpad
Grafana

View File

@ -1,130 +0,0 @@
---
kind: pipeline
name: build
platform:
os: linux
arch: amd64
concurrency:
limit: 1
steps:
- name: generate
image: thegeeklab/alpine-tools
commands:
- make doc
- name: markdownlint
image: thegeeklab/markdownlint-cli
commands:
- markdownlint 'content/**/*.md' 'README.md'
- name: spellcheck
image: thegeeklab/alpine-tools
commands:
- spellchecker --files 'content/**/*.md' 'README.md' -d .dictionary -p spell indefinite-article syntax-urls frontmatter --frontmatter-keys title tags --no-suggestions
environment:
FORCE_COLOR: true
NPM_CONFIG_LOGLEVEL: error
- name: favicons
image: node:lts-alpine
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:
- hugo --panicOnWarning -b http://localhost:8000/
- name: link-validation
image: lycheeverse/lychee
commands:
- lychee --no-progress --format detailed content/ README.md
- name: build
image: thegeeklab/hugo:0.115.2
commands:
- hugo --panicOnWarning
- name: beautify
image: node:lts-alpine
commands:
- npm install -g js-beautify
- html-beautify -r -f '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: 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:
ref:
- refs/heads/main
- refs/tags/**
trigger:
ref:
- refs/heads/main
- refs/tags/**
- refs/pull/**
---
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:
- build
---
kind: signature
hmac: 899894369ae1a6044074429d797c0fb8a558ec7bf5535f25fffc8266064b0ea1
...

View File

@ -1,4 +1,3 @@
.drone.yml
search*.js
_normalize.css
list.json.json

70
.woodpecker/docs.yml Normal file
View File

@ -0,0 +1,70 @@
---
when:
- event: [pull_request, tag]
- event: [push, manual, cron]
branch:
- ${CI_REPO_DEFAULT_BRANCH}
steps:
assets:
image: quay.io/thegeeklab/alpine-tools
commands:
- make doc
markdownlint:
image: quay.io/thegeeklab/markdownlint-cli
group: test
commands:
- markdownlint 'content/**/*.md' 'README.md'
spellcheck:
image: quay.io/thegeeklab/alpine-tools
group: test
commands:
- spellchecker --files 'content/**/*.md' 'README.md' -d .dictionary -p spell indefinite-article syntax-urls
environment:
FORCE_COLOR: "true"
link-validation:
image: docker.io/lycheeverse/lychee
group: test
commands:
- lychee --no-progress --format detailed content/ README.md
favicons:
image: docker.io/node:lts-alpine
commands:
- npm install --quiet --no-progress
- npm run build
environment:
FORCE_COLOR: true
build:
image: quay.io/thegeeklab/hugo:0.115.2
commands:
- hugo --panicOnWarning
beautify:
image: quay.io/thegeeklab/alpine-tools
commands:
- html-beautify -r -f 'public/**/*.html'
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}

26
.woodpecker/notify.yml Normal file
View File

@ -0,0 +1,26 @@
---
when:
- event: [tag]
- event: [push, manual, cron]
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: [failure]
depends_on:
- docs

View File

@ -1,11 +1,12 @@
# thegeeklab
[![Build Status](https://img.shields.io/drone/build/xoxys/thegeeklab?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/xoxys/thegeeklab)
[![Build Status](https://ci.rknet.org/api/badges/xoxys/thegeeklab/status.svg)](https://ci.rknet.org/repos/xoxys/thegeeklab)
[![Matrix](https://img.shields.io/badge/matrix-%40xoxys%3Arknet.org-blue?logo=matrix)](https://matrix.to/#/@xoxys:rknet.org)
[![Mastodon](https://img.shields.io/badge/follow-%40xoxys%40social.tchncs.de-blue?logo=mastodon&logoColor=white)](https://social.tchncs.de/@xoxys)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?label=license)](https://gitea.rknet.org/xoxys/thegeeklab/src/branch/main/LICENSE)
Source repository for my personal blog [thegeeklab.de](https://thegeeklab.de)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
This project is licensed under the MIT License - see the [LICENSE](https://gitea.rknet.org/xoxys/thegeeklab/src/branch/main/LICENSE) file for details.