--- kind: pipeline type: docker name: default trigger: branch: - master event: include: - push - cron - custom steps: - name: submodules image: alpine/git commands: - git submodule update --init --recursive - name: Compress Images image: registry.tobiasmanske.de/docker-avif-webp:latest secrets: [registry] depends_on: - submodules - name: Check for new posts image: klakegg/hugo:alpine pull: always commands: # If this is a cronjob and there are no new pages to publish fail successfully (exit status 78) - export TIMESTAMP_YESTERDAY=$(date -d @$(($(date +%s) - 86400)) -u +"%Y-%m-%dT%H:%M:%SZ") - export POST_YESTERDAY=$(hugo list future --clock $TIMESTAMP_YESTERDAY | md5sum) - export POST_TODAY=$(hugo list future | md5sum) - if [ "$POST_YESTERDAY" = "$POST_TODAY" ]; then exit 78; fi - exit 0 depends_on: - Compress Images - submodules when: event: - cron - name: Build HTML image: klakegg/hugo:alpine commands: - hugo --minify depends_on: - Compress Images - submodules - Check for new posts - name: Build Image image: plugins/docker settings: repo: registry.tobiasmanske.de/tobiasmanske.de force_tag: true registry: registry.tobiasmanske.de username: from_secret: docker_username password: from_secret: docker_password tags: - latest - ${DRONE_BRANCH} cache_from: - "registry.tobiasmanske.de/tobiasmanske.de:master" - "registry.tobiasmanske.de/tobiasmanske.de:${DRONE_BRANCH}" depends_on: - Build HTML image_pull_secrets: - registry