# Exclude page pipeline to be run on "pages" branch when: branch: exclude: pages event: [push, pull_request] 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 MAIL: from_secret: mail CODEBERG_TOKEN: from_secret: codeberg_token commands: # Git configuration - git config --global user.email $MAIL - git config --global user.name "CI" - git clone -b pages https://$CODEBERG_TOKEN@codeberg.org/$CI_REPO.git $CI_REPO_NAME # Copy build step output to repository folder - cp -ar build/html $CI_REPO_NAME/ # Needed for custom domains - cp .domains $CI_REPO_NAME || true # Ignore if it doesn't exist # Commit and push all static files with pipeline started timestamp - cd $CI_REPO_NAME - git add . - git commit -m "CI ${CI_COMMIT_SHA}" - git push when: event: push