Compare commits

...

6 Commits

Author SHA1 Message Date
user
f533aad0fa fix: add language tags to remaining bare code fences
All checks were successful
ci / link-check (push) Successful in 16s
ci / lint (push) Successful in 20s
2026-02-22 08:19:59 +01:00
user
fa82dd816d fix: resolve markdownlint errors
Some checks failed
ci / link-check (push) Successful in 16s
ci / lint (push) Failing after 19s
Disable MD060 (table column alignment) and MD032 (list blank lines).
Add language tags to bare fenced code blocks (MD040).
2026-02-22 08:04:08 +01:00
user
0a574734f4 fix: use node:22-alpine for lint job
Some checks failed
ci / link-check (push) Successful in 16s
ci / lint (push) Failing after 26s
markdownlint-cli2 image runs as non-root, blocking apk install.
Use node-alpine base with npx instead.
2026-02-22 07:38:47 +01:00
user
53aa4ef1fc fix: use container: directive instead of podman run on host
Some checks failed
ci / lint (push) Failing after 12s
ci / link-check (push) Successful in 18s
Match s5p CI pattern — run jobs inside containers managed by the
runner rather than invoking podman directly on the host. Avoids
rootless namespace permission issues.
2026-02-22 07:37:19 +01:00
user
1a1c20c734 fix: use podman containers for checkout on minimal host runner
Some checks failed
CI / lint (push) Failing after 1s
CI / link-check (push) Failing after 1s
Host runner lacks git and node. Fetch repo archive via wget in
alpine container, then run lint/link-check against extracted files.
Single-line commands to avoid multiline escaping issues.
2026-02-22 06:38:14 +01:00
user
9e652d76e6 fix: replace actions/checkout with git clone for host runner
Some checks failed
CI / lint (push) Failing after 1s
CI / link-check (push) Failing after 1s
The linux runner lacks node, so actions/checkout@v4 fails.
Use plain git clone instead.
2026-02-22 06:35:09 +01:00
9 changed files with 30 additions and 29 deletions

View File

@@ -1,4 +1,4 @@
name: CI
name: ci
on:
push:
@@ -9,27 +9,22 @@ on:
jobs:
lint:
runs-on: linux
container: node:22-alpine
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Markdown lint
run: |
podman run --rm \
-v "${{ github.workspace }}:/work:Z" \
docker.io/davidanson/markdownlint-cli2:v0.17.2 \
"**/*.md"
- run: apk add --no-cache git
- run: |
git clone --depth 1 \
-c "http.extraHeader=Authorization: token ${{ github.token }}" \
"${{ github.server_url }}/${{ github.repository }}.git" .
- run: npx markdownlint-cli2 "**/*.md"
link-check:
runs-on: linux
container: python:3.12-slim
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check internal links
run: |
podman run --rm \
-v "${{ github.workspace }}:/work:Z" \
-w /work \
docker.io/library/python:3.12-slim \
python3 scripts/check-links.py
- run: apt-get update -qq && apt-get install -y -qq git > /dev/null
- run: |
git clone --depth 1 \
-c "http.extraHeader=Authorization: token ${{ github.token }}" \
"${{ github.server_url }}/${{ github.repository }}.git" .
- run: python3 scripts/check-links.py

View File

@@ -21,6 +21,12 @@ config:
# Allow multiple blank lines
MD012: false
# Allow mixed table column alignment
MD060: false
# Allow lists without surrounding blank lines (tight prose)
MD032: false
globs:
- "**/*.md"

View File

@@ -15,7 +15,7 @@ Scattered notes, bookmarks, and `history | grep` are poor substitutes for well-o
Flat file collection — no build step, no dependencies. Plain Markdown rendered by any viewer (terminal, browser, editor).
```
```text
topics/<topic>.md # Individual howto files
docs/TEMPLATE.md # Template for new topics
```

View File

@@ -8,7 +8,7 @@ Quick-reference documentation — concise, searchable, copy-pasteable. Each topi
## Structure
```
```text
topics/
<topic>.md # One file per subject
docs/

View File

@@ -13,7 +13,7 @@
Each topic file follows `docs/TEMPLATE.md`:
```
```text
# <Topic>
## Overview — one-liner description
## Common Commands — daily-driver commands

View File

@@ -63,7 +63,7 @@ all:
## Directory Layout
```
```text
inventory/
├── hosts.yml # Host definitions
├── group_vars/
@@ -82,7 +82,7 @@ inventory/
### Multiple Environments
```
```text
inventories/
├── staging/
│ ├── hosts.yml

View File

@@ -4,7 +4,7 @@
## Role Directory Structure
```
```text
roles/
└── nginx/
├── defaults/
@@ -164,7 +164,7 @@ nginx_access_log: /var/log/nginx/access.log
## Project Layout with Roles
```
```text
ansible-project/
├── ansible.cfg
├── site.yml # Master playbook

View File

@@ -6,7 +6,7 @@
Ansible merges variables from many sources. **Higher number wins.**
```
```text
1. command line values (for constants, not variables)
2. role defaults (roles/x/defaults/main.yml)
3. inventory file or script group vars

View File

@@ -246,7 +246,7 @@ systemctl list-timers
### OnCalendar Syntax
```
```text
# Format: DayOfWeek Year-Month-Day Hour:Minute:Second
*-*-* 02:00:00 # daily at 2am