blog/.woodpecker/deploy.yml
Bruno BELANYI 4042c99629
All checks were successful
ci/woodpecker/push/deploy Pipeline was successful
ci/woodpecker/cron/deploy Pipeline was successful
ci: fix cron deployments
2023-04-01 21:22:43 +01:00

77 lines
1.6 KiB
YAML

variables:
- &all_events ["push", "cron", "deployment", "manual"]
labels:
type: exec
matrix:
include:
- TYPE: dev
MAKE_TARGET: build-dev
SSH_TARGET: ssh_target_dev
- TYPE: prod
MAKE_TARGET: build-prod
SSH_TARGET: ssh_target
# Run the correct matrix build on the correct branch
when:
evaluate: |
CI_PIPELINE_EVENT in ["push", "cron", "deployment", "manual"]
and ((CI_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH) == ("${TYPE}" == "prod"))
pipeline:
- name: check
image: bash
commands:
- nix flake check
when:
event: *all_events
- name: build (${TYPE})
image: bash
commands:
# If dev, include drafts and future articles, change base URL
- nix develop -c make ${MAKE_TARGET}
when:
event: *all_events
- name: deploy (${TYPE})
image: bash
environment:
# Trailing slash to synchronize the folder's *content* to the target
- SYNC_SOURCE=public/
secrets:
- source: ssh_key
target: sync_key
- source: ssh_port
target: sync_port
- source: ${SSH_TARGET}
target: sync_target
- source: ssh_user
target: sync_username
- source: ssh_host
target: sync_host
commands:
- "nix run github:ambroisie/nix-config#drone-rsync"
when:
event: *all_events
- name: notify
image: bash
secrets:
- source: matrix_homeserver
target: address
- source: matrix_password
target: pass
- source: matrix_roomid
target: room
- source: matrix_username
target: user
commands:
- nix run github:ambroisie/matrix-notifier
when:
event: *all_events
status:
- failure
- success