Compare commits

..

No commits in common. "main" and "v0.7.8-14" have entirely different histories.

8 changed files with 187 additions and 214 deletions

View File

@ -6,9 +6,13 @@
{{ range .CommitGroups -}} {{ range .CommitGroups -}}
### {{ .Title }} ### {{ .Title }}
{{ $subjects := list }}
{{ range .Commits -}} {{ range .Commits -}}
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ (regexReplaceAll "(.*)/issues/(.*)" (regexReplaceAll "(Co-\\w*-by.*)" .Subject "") "${1}/pulls/${2}") | trim }} {{ if not (has .Subject $subjects) -}}
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
{{ $subjects = append $subjects .Subject -}}
{{ end }} {{ end }}
{{- end }}
{{- end -}} {{- end -}}
{{- if .NoteGroups -}} {{- if .NoteGroups -}}

View File

@ -28,12 +28,17 @@ platform:
steps: steps:
- name: dryrun - name: dryrun
image: thegeeklab/drone-docker-buildx:23 image: thegeeklab/drone-docker-buildx:20
settings: settings:
build_args:
- BUILD_VERSION=${DRONE_TAG%-*}
dockerfile: Dockerfile dockerfile: Dockerfile
dry_run: true dry_run: true
provenance: false password:
from_secret: docker_password
repo: thegeeklab/${DRONE_REPO_NAME} repo: thegeeklab/${DRONE_REPO_NAME}
username:
from_secret: docker_username
when: when:
ref: ref:
- refs/pull/** - refs/pull/**
@ -69,12 +74,13 @@ steps:
- changelog-generate - changelog-generate
- name: publish-dockerhub - name: publish-dockerhub
image: thegeeklab/drone-docker-buildx:23 image: thegeeklab/drone-docker-buildx:20
settings: settings:
build_args:
- BUILD_VERSION=${DRONE_TAG%-*}
dockerfile: Dockerfile dockerfile: Dockerfile
password: password:
from_secret: docker_password from_secret: docker_password
provenance: false
repo: thegeeklab/${DRONE_REPO_NAME} repo: thegeeklab/${DRONE_REPO_NAME}
username: username:
from_secret: docker_username from_secret: docker_username
@ -86,12 +92,13 @@ steps:
- changelog-format - changelog-format
- name: publish-quay - name: publish-quay
image: thegeeklab/drone-docker-buildx:23 image: thegeeklab/drone-docker-buildx:20
settings: settings:
build_args:
- BUILD_VERSION=${DRONE_TAG%-*}
dockerfile: Dockerfile dockerfile: Dockerfile
password: password:
from_secret: quay_password from_secret: quay_password
provenance: false
registry: quay.io registry: quay.io
repo: quay.io/thegeeklab/${DRONE_REPO_NAME} repo: quay.io/thegeeklab/${DRONE_REPO_NAME}
username: username:
@ -138,6 +145,7 @@ platform:
steps: steps:
- name: pushrm-dockerhub - name: pushrm-dockerhub
pull: always
image: chko/docker-pushrm:1 image: chko/docker-pushrm:1
environment: environment:
DOCKER_PASS: DOCKER_PASS:
@ -145,13 +153,14 @@ steps:
DOCKER_USER: DOCKER_USER:
from_secret: docker_username from_secret: docker_username
PUSHRM_FILE: README.md PUSHRM_FILE: README.md
PUSHRM_SHORT: Custom image for muffet PUSHRM_SHORT: Custom image for broken-link-checker
PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME} PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME}
when: when:
status: status:
- success - success
- name: pushrm-quay - name: pushrm-quay
pull: always
image: chko/docker-pushrm:1 image: chko/docker-pushrm:1
environment: environment:
APIKEY__QUAY_IO: APIKEY__QUAY_IO:
@ -163,7 +172,7 @@ steps:
- success - success
- name: matrix - name: matrix
image: thegeeklab/drone-matrix image: plugins/matrix
settings: settings:
homeserver: homeserver:
from_secret: matrix_homeserver from_secret: matrix_homeserver
@ -171,7 +180,7 @@ steps:
from_secret: matrix_password from_secret: matrix_password
roomid: roomid:
from_secret: matrix_roomid from_secret: matrix_roomid
template: "Status: **{{ .Build.Status }}**<br/> Build: [{{ .Repo.Owner }}/{{ .Repo.Name }}]({{ .Build.Link }}){{ if .Build.Branch }} ({{ .Build.Branch }}){{ end }} by {{ .Commit.Author }}<br/> Message: {{ .Commit.Message.Title }}" template: "Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}"
username: username:
from_secret: matrix_username from_secret: matrix_username
when: when:
@ -192,6 +201,6 @@ depends_on:
--- ---
kind: signature kind: signature
hmac: 78e01e7829a4953f6068e8c71f068cc449d5a41d6ea26adc7ad456d19b0ed40f hmac: 5c2a9c3283e29459194fc2f63fac55ad0ef49db8506838bba7fa82c5926a1b34
... ...

1
.gitignore vendored
View File

@ -1,2 +1 @@
CHANGELOG.md CHANGELOG.md
/src

View File

@ -1,3 +1,2 @@
.drone.yml .drone.yml
*.tpl.md *.tpl.md
LICENSE

View File

@ -1,4 +1,4 @@
FROM debian:bullseye-slim@sha256:9bec46ecd98ce4bf8305840b021dda9b3e1f8494a0768c407e2b233180fa1466 FROM node:lts-alpine3.13@sha256:bd7f3879132b126e5f6770e7e50e223c2e74c1f223d27bfd06dd71a17ebb8fc3
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>" LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
@ -7,40 +7,35 @@ LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/link-validato
LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/link-validator" LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/link-validator"
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/link-validator" LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/link-validator"
ARG CADDY_VERSION ARG BUILD_VERSION
ARG WAIT_FOR_VERSION # renovate: datasource=npm depName=broken-link-checker
ARG CONTAINER_LIBRARY ENV BLC_VERSION="${BUILD_VERSION:-0.7.8}"
# renovate: datasource=github-releases depName=caddyserver/caddy # renovate: datasource=github-releases depName=caddyserver/caddy
ENV CADDY_VERSION="${CADDY_VERSION:-v2.7.4}" ENV CADDY_VERSION="${CADDY_VERSION:-v2.4.4}"
# renovate: datasource=github-releases depName=thegeeklab/wait-for
ENV WAIT_FOR_VERSION="${WAIT_FOR_VERSION:-v0.4.2}"
# renovate: datasource=github-releases depName=thegeeklab/retry
ENV RETRY_VERSION="${RETRY_VERSION:-v0.4.0}"
# renovate: datasource=github-releases depName=raviqqe/muffet
ENV MUFFET_VERSION="${MUFFET_VERSION:-v2.9.2}"
# renovate: datasource=git-tags depName=https://gitea.rknet.org/docker/container-library
ENV CONTAINER_LIBRARY="${CONTAINER_LIBRARY:-v0.1.3}"
ENV LINK_VALIDATOR_BASE_DIR=/drone/src \ ENV LINK_VALIDATOR_BASE_DIR=/drone/src \
LINK_VALIDATOR_SERVER_PORT=8000 \ LINK_VALIDATOR_SERVER_PORT=80 \
LINK_VALIDATOR_RETRIES=0 FORCE_COLOR=true \
NPM_CONFIG_LOGLEVEL=error
COPY overlay/ / COPY overlay/ /
RUN apt-get update && apt-get install -y curl bash ncat media-types && \ RUN echo "Installing requirements ..." && \
curl -SsfL "https://gitea.rknet.org/docker/container-library/releases/download/${CONTAINER_LIBRARY}/container-library.tar.gz" | tar xz -C / && \ apk --update add --virtual .build-deps curl && \
curl -sSL "https://github.com/caddyserver/caddy/releases/download/${CADDY_VERSION}/caddy_${CADDY_VERSION##v}_linux_amd64.tar.gz" | tar xz -C /usr/local/bin caddy && \ curl -sSL "https://github.com/caddyserver/caddy/releases/download/${CADDY_VERSION}/caddy_${CADDY_VERSION##v}_linux_amd64.tar.gz" | tar xz -C /usr/local/bin caddy && \
curl -SsfL "https://github.com/raviqqe/muffet/releases/download/${MUFFET_VERSION}/muffet_linux_amd64.tar.gz" | tar xz -C /usr/local/bin muffet && \
curl -SsfL -o /usr/local/bin/wait-for "https://github.com/thegeeklab/wait-for/releases/download/${WAIT_FOR_VERSION}/wait-for" && \
curl -SsfL -o /usr/local/bin/retry "https://github.com/thegeeklab/retry/releases/download/${RETRY_VERSION}/retry" && \
chmod 755 /usr/local/bin/caddy && \ chmod 755 /usr/local/bin/caddy && \
chmod 755 /usr/local/bin/muffet && \ BLC_VERSION="${BLC_VERSION##v}" && \
chmod 755 /usr/local/bin/wait-for && \ BLC_MAJOR="${BLC_VERSION%%.*}" && \
chmod 755 /usr/local/bin/retry && \ if [ -z "${BLC_MAJOR//[0-9]}" ] && [ -n "$BLC_MAJOR" ]; then \
rm -rf /var/lib/apt/lists/* && \ echo "Installing link-checker version '$BLC_VERSION' ..." && \
rm -rf /tmp/* && \ npm install -g broken-link-checker@"$BLC_VERSION"; \
rm -rf /root/.cache/ else \
echo "Installing latest link-checker ..." && \
npm install -g broken-link-checker; \
fi && \
apk del .build-deps && \
rm -rf /var/cache/apk/* && \
rm -rf /tmp/*
USER root USER root
CMD [] CMD []

21
LICENSE
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2022 Robert Kaussow <mail@thegeeklab.de>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,6 +1,6 @@
# link-validator # link-validator
Custom image for muffet Custom image for broken-link-checker
[![Build Status](https://img.shields.io/drone/build/docker/link-validator?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/link-validator) [![Build Status](https://img.shields.io/drone/build/docker/link-validator?logo=drone&server=https%3A%2F%2Fdrone.rknet.org)](https://drone.rknet.org/docker/link-validator)
[![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/link-validator) [![Docker Hub](https://img.shields.io/badge/dockerhub-latest-blue.svg?logo=docker&logoColor=white)](https://hub.docker.com/r/thegeeklab/link-validator)
@ -8,16 +8,16 @@ Custom image for muffet
[![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/link-validator) [![Source: Gitea](https://img.shields.io/badge/source-gitea-blue.svg?logo=gitea&logoColor=white)](https://gitea.rknet.org/docker/link-validator)
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/link-validator/src/branch/main/LICENSE) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://gitea.rknet.org/docker/link-validator/src/branch/main/LICENSE)
Custom wrapper Docker image for [muffet](https://github.com/raviqqe/muffet) optimized for CI. Custom wrapper Docker image for [broken-link-checker](https://github.com/stevenvachon/broken-link-checker) optimized for CI.
## Usage ## Usage
```Shell ```Shell
docker run -v $(pwd)/public:/drone/src link-validator docker run -v $(pwd)/public:/drone/src link-validator
# Pass arguments to muffet # or pass arguments to broken-link-checker
# ... but DO NOT set the server url! This is done automatically. # ... but DO NOT set the server url! This will be done automatically. See environment variables.
docker run -v $(pwd)/public:/drone/src link-validator -e docker run -v $(pwd)/public:/drone/src link-validator -ro
``` ```
## Environment variables ## Environment variables
@ -25,7 +25,6 @@ docker run -v $(pwd)/public:/drone/src link-validator -e
```Shell ```Shell
LINK_VALIDATOR_BASE_DIR=/drone/src LINK_VALIDATOR_BASE_DIR=/drone/src
LINK_VALIDATOR_SERVER_PORT=8000 LINK_VALIDATOR_SERVER_PORT=8000
LINK_VALIDATOR_RETRIES=0
``` ```
## Build ## Build

View File

@ -1,16 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env sh
set -eo pipefail set -eo pipefail
# shellcheck disable=SC1091 caddy file-server --root "$LINK_VALIDATOR_BASE_DIR" --listen "127.0.0.1:$LINK_VALIDATOR_SERVER_PORT" &> /dev/null &
. /usr/local/lib/log.sh exec /usr/local/bin/broken-link-checker "$@" http://localhost:"$LINK_VALIDATOR_SERVER_PORT"
URL="127.0.0.1:$LINK_VALIDATOR_SERVER_PORT"
caddy file-server --root "$LINK_VALIDATOR_BASE_DIR" --listen "$URL" &
log_info "Wait for web server on '$URL'"
/usr/local/bin/wait-for "$URL"
log_info "Start link validation"
exec retry -t "$LINK_VALIDATOR_RETRIES" -m 5 -- "/usr/local/bin/muffet $* http://$URL"