diff --git a/.woodpecker.yml b/.woodpecker.yml index 793f92f..0173e25 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -9,12 +9,16 @@ pipeline: - 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] - publish: + commit: image: alpine secrets: [ access_token ] commands: @@ -22,12 +26,28 @@ pipeline: # configure git - git config --global user.email "nonexistent@example.com" - git config --global user.name "Codeberg CI" - - git clone https://"$${ACCESS_TOKEN}"@codeberg.org/fediverse/fediparty.git pages - - cd pages - git checkout -b pages - - mv ../public/* . - - mv ../.domains . # deploy changes - git add -A - git commit -m "Woodpecker build ${CI_COMMIT_SHA}" - - git push --force origin pages + + # 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]