Update CI to use exec runner
All checks were successful
continuous-integration/drone/push Build is passing

The docker runner is too flaky, such as when updating the kernel on the
server and not rebooting... Partly my fault, but I'm too lazy to do it.
This commit is contained in:
Bruno BELANYI 2021-08-08 18:29:44 +02:00
commit 59417f5c29
2 changed files with 34 additions and 33 deletions

View file

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

View file

@ -3,7 +3,7 @@ all: build-dev
.PHONY: build-dev .PHONY: build-dev
build-dev: build-dev:
HUGO_BASEURL=https://dev.belanyi.fr hugo -D -F HUGO_TITLE="Ambroisie's dev blog" HUGO_BASEURL=https://dev.belanyi.fr hugo -D -F
.PHONY: build-prod .PHONY: build-prod
build-prod: build-prod: