Skip to content

fix(ci): let BOLT ship its own stripped binary (spec 0090) #40

fix(ci): let BOLT ship its own stripped binary (spec 0090)

fix(ci): let BOLT ship its own stripped binary (spec 0090) #40

Workflow file for this run

#
# Serial Studio
# https://serial-studio.com/
#
# Copyright (C) 2020–2025 Alex Spataru
#
# This file is dual-licensed:
#
# - Under the GNU GPLv3 (or later) for builds that exclude Pro modules.
# - Under the Serial Studio Commercial License for builds that include
# any Pro functionality.
#
# You must comply with the terms of one of these licenses, depending
# on your use case.
#
# For GPL terms, see <https://www.gnu.org/licenses/gpl-3.0.html>
# For commercial terms, see LICENSES/LicenseRef-SerialStudio-Commercial.txt.
#
# SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-SerialStudio-Commercial
#
#-------------------------------------------------------------------------------
# Workflow configuration
#
# ci.yml ignores '**.md' so documentation-only pushes skip the build matrix, but
# that also skipped the documentation gates that live in its lint job. This
# workflow is the complement: it fires ONLY on Markdown changes and runs just
# the two documentation verifiers, so a docs-only commit still gets checked.
#-------------------------------------------------------------------------------
name: Docs
on:
push:
paths:
- '**.md'
pull_request:
paths:
- '**.md'
#-------------------------------------------------------------------------------
# Documentation gates (no build)
#-------------------------------------------------------------------------------
jobs:
docs:
runs-on: ubuntu-24.04
name: '🔬 Docs'
permissions:
contents: read
steps:
#
# No submodules: the verifiers only read first-party sources and docs
#
- name: '🧰 Checkout'
uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0
#
# 3.11 with pip caching: every gate in this job is a Python script
#
- name: '🐍 Set up Python'
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with:
python-version: '3.11'
cache: 'pip'
#
# requirements.lock is the hash-pinned resolution of tests/requirements.txt; --require-hashes
# is what makes a CI run reproducible instead of a function of the day it ran
#
- name: '🐍 Install Python dependencies'
run: pip install --require-hashes -r tests/requirements.lock
#
# The AI-facing docs are the tier that rots silently; this checks their paths, symbols and
# pinned constants against the tree
#
- name: '🔬 Verify AI documentation claims'
run: python3 scripts/claim-verify.py --quiet
#
# Markdown AI-narration scan over the user-facing docs
#
- name: '🔬 Verify documentation conventions'
run: python3 scripts/documentation-verify.py --quiet