ci: use exec runner
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Bruno BELANYI 2021-08-08 16:24:45 +02:00
parent ee916a506b
commit 7295265a3e

View file

@ -1,58 +1,55 @@
local Pipeline(isDev) = {
kind: "pipeline",
name: if isDev then "deploy-dev" else "deploy-prod",
type: "exec",
name: if isDev then "Deploy to dev" else "Deploy to prod",
# Dev ignores "master", prod only triggers on "master"
trigger: { branch: { [if isDev then "exclude" else "include"]: [ "main" ] } },
# We want to clone the submodules, which isn't done by default
clone: { disable: true },
steps: [
{
name: "clone",
image: "plugins/git",
recursive: true,
# We want to clone the submodules, which isn't done by default
name: "submodules",
commands: [
"git submodule update --recursive --init",
]
},
{
name: "markdownlint",
image: "06kellyjac/markdownlint-cli",
# Include pre-commit checks, which include markdownlint
name: "check",
commands: [
"markdownlint --version",
"markdownlint content/",
"nix flake check",
],
},
{
# If dev, include drafts and future articles, change base URL
name: "build",
image: "klakegg/hugo",
commands: [
"hugo version",
# If dev, include drafts and future articles, change base URL
"hugo --minify" + if isDev then " -D -F -b https://dev.belanyi.fr" else "",
"nix develop -c make " + if isDev then "build-dev" else "build-prod",
],
[if !isDev then "environment"]: { HUGO_ENV: "production" }
},
{
name: "deploy",
image: "appleboy/drone-scp",
settings: {
source: "public/*",
strip_components: 1, # Remove 'public/' suffix from file paths
rm: true, # Remove previous files from target directory
host: { from_secret: "ssh_host" },
target: { from_secret: "ssh_target" + if isDev then "_dev" else "" },
username: { from_secret: "ssh_user" },
key: { from_secret: "ssh_key" },
port: { from_secret: "ssh_port" },
commands: [
"nix develop -c make deploy"
],
environment: {
SSH_HOST: { from_secret: "ssh_host" },
TARGET: { from_secret: "ssh_target" + if isDev then "_dev" else "" },
USERNAME: { from_secret: "ssh_user" },
KEY: { from_secret: "ssh_key" },
},
},
{
name: "notify",
image: "plugins/matrix",
settings: {
homeserver: { from_secret: "matrix_homeserver" },
roomid: { from_secret: "matrix_roomid" },
username: { from_secret: "matrix_username" },
password: { from_secret: "matrix_password" },
commands: [
"nix run github:ambroisie/matrix-notifier",
],
environment: {
ADDRESS: { from_secret: "matrix_homeserver" },
ROOM: { from_secret: "matrix_roomid" },
USER: { from_secret: "matrix_username" },
PASS: { from_secret: "matrix_password" },
},
trigger: { status: [ "failure", "success", ] },
when: { status: [ "failure", "success", ] },
},
]
};