2022-08-14 07:19:24 +00:00
|
|
|
variables:
|
2022-09-27 20:19:39 +00:00
|
|
|
- &golang_image 'golang:1.18'
|
2022-10-25 12:51:29 +00:00
|
|
|
- &node_image 'node:18-alpine'
|
2022-08-14 07:19:24 +00:00
|
|
|
- &when_path
|
|
|
|
- "docs/**"
|
|
|
|
- ".woodpecker/docs.yml"
|
2022-11-09 07:12:17 +00:00
|
|
|
# since we generate docs for cli tool we have to watch this too
|
2022-09-27 20:19:39 +00:00
|
|
|
- "cli/**"
|
|
|
|
- "cmd/cli/**"
|
2022-08-14 07:19:24 +00:00
|
|
|
|
2021-09-11 15:10:32 +00:00
|
|
|
pipeline:
|
2022-09-25 12:36:31 +00:00
|
|
|
build-cli:
|
2022-09-27 20:19:39 +00:00
|
|
|
image: *golang_image
|
2022-09-25 12:36:31 +00:00
|
|
|
commands:
|
|
|
|
- make docs
|
2022-10-14 11:38:03 +00:00
|
|
|
when:
|
|
|
|
path: *when_path
|
2022-09-25 12:36:31 +00:00
|
|
|
|
2021-09-23 15:54:19 +00:00
|
|
|
build:
|
2022-08-14 07:19:24 +00:00
|
|
|
image: *node_image
|
2022-10-25 12:51:29 +00:00
|
|
|
directory: docs/
|
2021-09-23 15:54:19 +00:00
|
|
|
commands:
|
2022-10-08 14:15:07 +00:00
|
|
|
- corepack enable
|
|
|
|
- pnpm install --frozen-lockfile
|
|
|
|
- pnpm build
|
2022-10-14 11:38:03 +00:00
|
|
|
when:
|
|
|
|
path: *when_path
|
2022-03-23 09:31:12 +00:00
|
|
|
|
2022-09-03 18:46:48 +00:00
|
|
|
securitycheck:
|
|
|
|
image: aquasec/trivy:latest
|
|
|
|
commands:
|
|
|
|
- trivy fs --exit-code 0 --skip-dirs node_modules/ --skip-dirs plugins/woodpecker-plugins/node_modules --severity UNKNOWN,LOW docs/
|
|
|
|
# TODO currently it is not fixable so just do not block currently
|
|
|
|
- trivy fs --exit-code 0 --skip-dirs node_modules/ --skip-dirs plugins/woodpecker-plugins/node_modules --severity MEDIUM,HIGH,CRITICAL docs/
|
2022-10-14 11:38:03 +00:00
|
|
|
when:
|
|
|
|
path: *when_path
|
2022-09-03 18:46:48 +00:00
|
|
|
|
2022-03-23 09:31:12 +00:00
|
|
|
deploy-preview:
|
|
|
|
image: woodpeckerci/plugin-surge-preview:next
|
|
|
|
settings:
|
|
|
|
path: "docs/build/"
|
|
|
|
surge_token:
|
|
|
|
from_secret: SURGE_TOKEN
|
|
|
|
forge_type: github
|
|
|
|
forge_url: "https://github.com"
|
|
|
|
forge_repo_token:
|
|
|
|
from_secret: GITHUB_TOKEN_SURGE
|
|
|
|
when:
|
|
|
|
event: pull_request
|
2022-10-14 11:38:03 +00:00
|
|
|
path: *when_path
|
2022-08-14 07:19:24 +00:00
|
|
|
|
2022-03-23 09:31:12 +00:00
|
|
|
# TODO: add step to remove preview again after PR is closed (waiting for #286)
|
2021-09-23 15:54:19 +00:00
|
|
|
|
|
|
|
deploy:
|
|
|
|
image: alpine:3.14.2
|
2021-09-11 15:10:32 +00:00
|
|
|
secrets:
|
|
|
|
- BOT_PRIVATE_KEY
|
|
|
|
commands:
|
2021-09-23 15:54:19 +00:00
|
|
|
- apk add openssh-client git rsync
|
2021-09-11 15:10:32 +00:00
|
|
|
- mkdir -p $HOME/.ssh
|
|
|
|
- ssh-keyscan -t rsa github.com >> $HOME/.ssh/known_hosts
|
2021-09-11 15:16:26 +00:00
|
|
|
- echo "$BOT_PRIVATE_KEY" > $HOME/.ssh/id_rsa
|
2021-09-11 15:10:32 +00:00
|
|
|
- chmod 0600 $HOME/.ssh/id_rsa
|
2021-09-11 16:48:52 +00:00
|
|
|
- git config --global user.email "woodpecker-bot@obermui.de"
|
|
|
|
- git config --global user.name "woodpecker-bot"
|
2021-11-30 16:46:19 +00:00
|
|
|
- git clone -b ${CI_REPO_DEFAULT_BRANCH} --single-branch git@github.com:woodpecker-ci/woodpecker-ci.github.io.git /repo
|
2021-09-23 15:54:19 +00:00
|
|
|
# copy all docs files and delete all old ones, but leave CNAME and index.yaml untouched
|
|
|
|
- rsync -r --exclude .git --exclude CNAME --exclude index.yaml --exclude README.md --delete docs/build/ /repo
|
|
|
|
- cd /repo
|
|
|
|
- git add .
|
|
|
|
# exit successfully if nothing changed
|
|
|
|
- test -n "$(git status --porcelain)" || exit 0
|
2021-11-25 19:43:31 +00:00
|
|
|
- git commit -m "Deploy website - based on ${CI_COMMIT_SHA}"
|
2021-09-23 15:54:19 +00:00
|
|
|
- git push
|
2021-09-11 15:10:32 +00:00
|
|
|
when:
|
|
|
|
event: push
|
2021-11-30 16:46:19 +00:00
|
|
|
branch: ${CI_REPO_DEFAULT_BRANCH}
|
2022-10-14 11:38:03 +00:00
|
|
|
path: *when_path
|