65 lines
1.3 KiB
YAML
65 lines
1.3 KiB
YAML
labels:
|
|
backend: local
|
|
|
|
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_COMMIT_BRANCH == CI_REPO_DEFAULT_BRANCH) == ("${TYPE}" == "prod"))
|
|
|
|
steps:
|
|
- name: check
|
|
image: bash
|
|
commands:
|
|
- nix flake check
|
|
|
|
- name: build (${TYPE})
|
|
image: bash
|
|
commands:
|
|
# If dev, include drafts and future articles, change base URL
|
|
- nix develop -c make ${MAKE_TARGET}
|
|
|
|
- name: deploy (${TYPE})
|
|
image: bash
|
|
environment:
|
|
# Trailing slash to synchronize the folder's *content* to the target
|
|
SYNC_SOURCE: public/
|
|
SYNC_KEY:
|
|
from_secret: ssh_key
|
|
SYNC_PORT:
|
|
from_secret: ssh_port
|
|
SYNC_TARGET:
|
|
from_secret: ${SSH_TARGET}
|
|
SYNC_USERNAME:
|
|
from_secret: ssh_user
|
|
SYNC_HOST:
|
|
from_secret: ssh_host
|
|
commands:
|
|
- "nix run github:ambroisie/nix-config#drone-rsync"
|
|
|
|
- name: notify
|
|
image: bash
|
|
environment:
|
|
ADDRESS:
|
|
from_secret: matrix_homeserver
|
|
ROOM:
|
|
from_secret: matrix_roomid
|
|
USER:
|
|
from_secret: matrix_username
|
|
PASS:
|
|
from_secret: matrix_password
|
|
commands:
|
|
- nix run github:ambroisie/matrix-notifier
|
|
when:
|
|
status:
|
|
- failure
|
|
- success
|