50 lines
1.6 KiB
YAML
50 lines
1.6 KiB
YAML
# Exclude page pipeline to be run on "pages" branch
|
|
when:
|
|
event: [pull_request, push]
|
|
|
|
clone:
|
|
- name: git
|
|
image: woodpeckerci/plugin-git
|
|
settings:
|
|
partial: false
|
|
depth: 1
|
|
|
|
steps:
|
|
# Build sphinx static files
|
|
build:
|
|
image: docker.io/alpine:3.21
|
|
commands:
|
|
# Must install all of biboumi's dependencies to satisfy cmake
|
|
- apk add --no-cache --virtual .build py3-sphinx py3-sphinx_rtd_theme cmake expat-dev g++ git libidn-dev make postgresql-dev python3 sqlite-dev udns-dev util-linux-dev botan-dev
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DWITH_BOTAN=1 -DWITH_SQLITE3=1 -DWITH_LIBIDN=1 -DWITH_POSTGRESQL=1
|
|
- make html
|
|
when:
|
|
event: [pull_request, push]
|
|
|
|
publish:
|
|
image: docker.io/bitnami/git
|
|
environment:
|
|
# secrets must be set in Woodpecker configuration
|
|
CODEBERG_TOKEN:
|
|
from_secret: codeberg_token
|
|
commands:
|
|
# Git configuration
|
|
- git config --global user.email "ci-test@example.com"
|
|
- git config --global user.name "CI"
|
|
- git clone https://$CODEBERG_TOKEN@codeberg.org/biboumi/pages.git pages
|
|
# Copy build step output to repository folder
|
|
- cp -ar build/html/* pages/doc/
|
|
# Needed for custom domains
|
|
- cp .domains pages || true # Ignore if it doesn't exist
|
|
# Commit and push all static files with pipeline started timestamp
|
|
- cd pages
|
|
- git add .
|
|
- git commit -m "CI ${CI_COMMIT_SHA}" || true
|
|
- git push || true
|
|
when:
|
|
- event: push
|
|
branch: master
|
|
|