Adding dead-link-linter gate

Change-Id: I3b97e42abf5084a6dbd46616327e7bfe7b1a9791
This commit is contained in:
Danny Massa 2021-10-12 09:23:24 -05:00
parent f819f6c510
commit f9ae26105b
6 changed files with 69 additions and 1 deletions

10
.deadlink Normal file
View File

@ -0,0 +1,10 @@
directories:
- "./"
fileExtensions:
- ".md"
- ".rst"
goldenURL: "https://google.com"
ignored:
- "https://google.com"
maxFailures: 0
logVerbosity: 1

View File

@ -35,3 +35,7 @@ build_docs:
format: format:
tox -e fmt tox -e fmt
# Validate all URL references in documentation work
.PHONY: dead-link-linter
dead-link-linter:
@./tools/dead-link-linter

View File

@ -0,0 +1,20 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- hosts: primary
tasks:
- name: Run Auxiliary Linter
block:
- name: "make dead-link-linter"
make:
chdir: "{{ zuul.project.src_dir }}"
target: dead-link-linter

25
tools/dead-link-linter Executable file
View File

@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -xe
: "${LINTER_VERSION:="1.0.3"}"
: "${OS_TYPE:="linux"}"
: "${ARCHITECTURE:="amd64"}"
URL="https://github.com/DannyMassa/dead-link-linter/releases/download/${LINTER_VERSION}/dead-link-linter-${LINTER_VERSION}-${OS_TYPE}-${ARCHITECTURE}.tar.gz"
TAR_BALL="dead-link-linter-${LINTER_VERSION}-${OS_TYPE}-${ARCHITECTURE}.tar.gz"
wget ${URL}
tar -xvf ${TAR_BALL}
./dead-link-linter
status=$?
[ $status -eq 0 ] && \
echo "Dead Link Linter Passed" && \
rm ${TAR_BALL} && \
rm dead-link-linter && \
exit 0 \
|| \
echo "Dead Link Linter Failed" && \
rm ${TAR_BALL} && \
rm dead-link-linter && \
exit 1

View File

@ -110,3 +110,10 @@
- ^manifests/type/multi-tenant/.*$ - ^manifests/type/multi-tenant/.*$
- ^manifests/function/.*$ - ^manifests/function/.*$
- ^manifests/composite/.*$ - ^manifests/composite/.*$
- job:
name: airship-treasuremap-dead-link-linter
description: Ensures all URLs referenced in documentation are still working
run: playbooks/airship-treasuremap-dead-link-linter.yaml
nodeset: airship-treasuremap-single-node
voting: false

View File

@ -19,13 +19,15 @@
check: check:
jobs: jobs:
- airship-treasuremap-validate-site-docs - airship-treasuremap-validate-site-docs
# - airship-treasuremap-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
- airship-treasuremap-deploy-virtual-airship-core - airship-treasuremap-deploy-virtual-airship-core
- airship-treasuremap-dead-link-linter
# - airship-treasuremap-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
gate: gate:
jobs: jobs:
- noop - noop
- airship-treasuremap-validate-site-docs - airship-treasuremap-validate-site-docs
- airship-treasuremap-deploy-virtual-airship-core - airship-treasuremap-deploy-virtual-airship-core
- airship-treasuremap-dead-link-linter
# - airship-treasuremap-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up # - airship-treasuremap-functional-existing-k8s TODO: Enable this when functional tests exist, and a cluster is up
experimental: experimental:
jobs: jobs: