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) = {
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",
],
},
{
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 "",
name: "build",
commands: [
"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 run github:ambroisie/nix-config#drone-scp",
],
environment: {
SCP_SOURCE: "public/*",
SCP_STRIP_COMPONENTS: 1, # Remove 'public/' suffix from file paths
SCP_RM: true, # Remove previous files from target directory
SCP_HOST: { from_secret: "ssh_host" },
SCP_TARGET: { from_secret: "ssh_target" + if isDev then "_dev" else "" },
SCP_USERNAME: { from_secret: "ssh_user" },
SCP_KEY: { from_secret: "ssh_key" },
SCP_PORT: { from_secret: "ssh_port" },
},
},
{
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", ] },
},
]
};

View file

@ -3,7 +3,7 @@ all: build-dev
.PHONY: 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
build-prod: