fediparty/.woodpecker.yml
2022-01-22 13:40:28 +03:00

54 lines
1.6 KiB
YAML

pipeline:
# Build step: generates the files for Hexo site
build:
image: node:12.22.1
commands:
- npm install gulp -g
- npm install hexo-cli -g
- test -e package.json && npm install
- gulp build --cwd ./themes/starter
- hexo generate
- find -maxdepth 1 ! -name .git ! -name .domains ! -name public ! -name . -exec rm -rf {} \;
# This only copies non-hidden files; those whose names start with period WOULD NOT be copied
- mv public/* .
- rm -rf public
when:
branch:
include: [ main ]
event: [push, deployment]
commit:
image: alpine
secrets: [ access_token ]
commands:
- apk add git
# configure git
- git config --global user.email "nonexistent@example.com"
- git config --global user.name "Codeberg CI"
- git checkout -b pages
# deploy changes
- git add -A
- git commit -m "Woodpecker build ${CI_COMMIT_SHA}"
# Push step: it pushes the build output to "pages" branch
push:
image: appleboy/drone-git-push
settings:
branch: pages
remote: git@codeberg.org:fediverse/fediparty.git
# To work around "rejected...fetch first" error
force: true
ssh_key:
from_secret: ssh_key
when:
# Only try to commit if previous step is successful
status: success
branch:
# Only run on these branches
include: [ main ]
# ...and never on pages branch (to ignore build triggered by CI commits)
exclude: pages
# Execute on every event except "pull_request"
event: [push, tag, deployment]