wanderer
8a1821c416
All checks were successful
continuous-integration/drone/push Build is passing
update hadolint to v2.6.0-alpine and add an IGNORE to Dockerfile to make sure the linter is up to date and all errors are resolved, resulting ina passing build. the ignore is added as the issue is not too big of a deal (at least not ATM). * 55d9852 - fix: make hadolint pass <surtur> * 8f2e192 - about, posts: add dnscrypt <surtur> Co-authored-by: surtur <a_mirre@utb.cz> Reviewed-on: #29 Co-authored-by: wanderer <wanderer@noreply.git.dotya.ml> Co-committed-by: wanderer <wanderer@noreply.git.dotya.ml>
315 lines
6.0 KiB
YAML
315 lines
6.0 KiB
YAML
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: pull
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
trigger:
|
|
event:
|
|
exclude: [push, pull_request]
|
|
|
|
steps:
|
|
- name: fedora-hugo
|
|
pull: always
|
|
image: immawanderer/fedora-hugo:latest
|
|
commands:
|
|
- uname -r
|
|
- cat /etc/fedora-release
|
|
|
|
- name: alpine-rsync
|
|
pull: always
|
|
image: immawanderer/alpine-rsync:latest
|
|
commands:
|
|
- uname -r
|
|
|
|
- name: hadolint
|
|
pull: always
|
|
image: hadolint/hadolint:2.0.0-alpine
|
|
commands:
|
|
- uname -r
|
|
- hadolint --version
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: build
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch: [master, testing]
|
|
event: pull_request
|
|
|
|
depends_on:
|
|
- pull
|
|
|
|
steps:
|
|
- name: hugo-extended
|
|
pull: if-not-exists
|
|
image: immawanderer/fedora-hugo:latest
|
|
commands:
|
|
- git submodule init
|
|
- git submodule update
|
|
- hugo version
|
|
- hugo --gc=true --minify
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: docker-compose-build
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch: master
|
|
event: pull_request
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
steps:
|
|
- name: hadolint
|
|
image: hadolint/hadolint:v2.6.0-alpine
|
|
commands:
|
|
- hadolint --version
|
|
- hadolint Dockerfile
|
|
|
|
- name: build
|
|
pull: always
|
|
image: tmaier/docker-compose:latest
|
|
volumes:
|
|
- name: s
|
|
path: /var/run/docker.sock
|
|
environment:
|
|
COMPOSE_DOCKER_CLI_BUILD: 1
|
|
DOCKER_BUILDKIT: 1
|
|
commands:
|
|
- docker-compose build --no-cache --pull
|
|
|
|
volumes:
|
|
- name: s
|
|
host:
|
|
path: /var/run/docker.sock
|
|
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: deploy-staging
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch:
|
|
- testing
|
|
event:
|
|
exclude: [pull_request, tag]
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
steps:
|
|
- name: hugo-extended
|
|
pull: if-not-exists
|
|
image: immawanderer/fedora-hugo:latest
|
|
commands:
|
|
- git submodule init
|
|
- git submodule update
|
|
- hugo version
|
|
- hugo --gc=true --minify
|
|
|
|
- name: deploy
|
|
pull: if-not-exists
|
|
image: immawanderer/alpine-rsync:latest
|
|
when:
|
|
status:
|
|
- success
|
|
branch:
|
|
- testing
|
|
depends_on:
|
|
- hugo-extended
|
|
environment:
|
|
OL:
|
|
from_secret: hugo_user
|
|
OL_P:
|
|
from_secret: hugo_passwd
|
|
OL_D:
|
|
from_secret: hugo_dir
|
|
commands:
|
|
- echo $OL_P > nupass
|
|
- export RSYNC_RSH='sshpass -f ./nupass ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
|
|
- rsync -av --delete --chown $OL public/ $OL@dotya.ml:$OL_D
|
|
|
|
|
|
---
|
|
kind: pipeline
|
|
type: docker
|
|
name: deploy
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
trigger:
|
|
branch:
|
|
- master
|
|
event:
|
|
exclude: [pull_request, tag]
|
|
|
|
environment:
|
|
# ref: https://www.docker.com/blog/faster-builds-in-compose-thanks-to-buildkit-support/
|
|
COMPOSE_DOCKER_CLI_BUILD: 1
|
|
DOCKER_BUILDKIT: 1
|
|
|
|
node:
|
|
r: main
|
|
|
|
depends_on:
|
|
- build
|
|
|
|
steps:
|
|
- name: hugo-extended
|
|
pull: if-not-exists
|
|
image: immawanderer/fedora-hugo:latest
|
|
commands:
|
|
- git submodule init
|
|
- git submodule update
|
|
- hugo version
|
|
- hugo --gc=true --minify
|
|
|
|
- name: rm-intermediate
|
|
pull: if-not-exists
|
|
image: immawanderer/fedora-hugo:latest
|
|
depends_on:
|
|
- hugo-extended
|
|
commands:
|
|
- rm -rf ./public
|
|
|
|
- name: build
|
|
pull: always
|
|
image: tmaier/docker-compose:latest
|
|
depends_on:
|
|
- rm-intermediate
|
|
volumes:
|
|
- name: s
|
|
path: /var/run/docker.sock
|
|
commands:
|
|
- docker-compose build --no-cache
|
|
when:
|
|
branch: master
|
|
status: success
|
|
|
|
- name: deploy
|
|
pull: always
|
|
image: tmaier/docker-compose:latest
|
|
depends_on:
|
|
- build
|
|
volumes:
|
|
- name: s
|
|
path: /var/run/docker.sock
|
|
commands:
|
|
- docker-compose -p ${DRONE_REPO_NAME} up -d --remove-orphans --scale homepage=4
|
|
when:
|
|
branch: master
|
|
status: success
|
|
|
|
volumes:
|
|
- name: s
|
|
host:
|
|
path: /var/run/docker.sock
|
|
|
|
|
|
---
|
|
kind: pipeline
|
|
name: notifications
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
trigger:
|
|
branch:
|
|
- master
|
|
- testing
|
|
event:
|
|
- push
|
|
- tag
|
|
status:
|
|
- success
|
|
- failure
|
|
|
|
depends_on: [deploy, deploy-staging]
|
|
|
|
steps:
|
|
- name: discord
|
|
pull: if-not-exists
|
|
image: appleboy/drone-discord:latest
|
|
settings:
|
|
message: >
|
|
{{#success build.status}}
|
|
✅ [Build #{{build.number}}]({{build.link}}) of `{{repo.name}}` has been successfully deployed.
|
|
event: **`{{build.event}}`**
|
|
commit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`
|
|
{{else}}
|
|
❌ [Build #{{build.number}}]({{build.link}}) of `{{repo.name}}` failed to deploy.
|
|
event: **`${DRONE_BUILD_EVENT}`**
|
|
failed stage(s): **`${DRONE_FAILED_STAGES}`**
|
|
commit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`
|
|
```{{commit.message}}```
|
|
{{/success}}
|
|
webhook_id:
|
|
from_secret: discord_webhook_id
|
|
webhook_token:
|
|
from_secret: discord_webhook_token
|
|
|
|
---
|
|
kind: pipeline
|
|
name: notifications-cron
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
clone:
|
|
disable: true
|
|
|
|
trigger:
|
|
event: cron
|
|
cron: [hourly, nightly]
|
|
status: [success, failure]
|
|
|
|
depends_on: [deploy]
|
|
|
|
steps:
|
|
- name: discord
|
|
pull: always
|
|
image: appleboy/drone-discord:latest
|
|
settings:
|
|
message: >
|
|
{{#success build.status}}
|
|
✅ [Cron build #{{build.number}}]({{build.link}}) of `{{repo.name}}` has been successfully deployed.
|
|
event: **`{{build.event}}`**
|
|
commit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`
|
|
{{else}}
|
|
❌ [Cron build #{{build.number}}]({{build.link}}) of `{{repo.name}}` failed to deploy.
|
|
event: **`${DRONE_BUILD_EVENT}`**
|
|
failed stage(s): **`${DRONE_FAILED_STAGES}`**
|
|
commit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`
|
|
```{{commit.message}}```
|
|
{{/success}}
|
|
webhook_id:
|
|
from_secret: discord_webhook_hourly_id
|
|
webhook_token:
|
|
from_secret: discord_webhook_hourly_token
|