# Exclude page pipeline to be run on "pages" branch when: path: include: ["CMakeLists.txt", ".woodpecker/docs.yaml", "doc/**/*"] 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