From d530e127f57055dd061f5b0f479e7e3da3058ff8 Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Wed, 24 Sep 2025 08:20:08 +0200 Subject: [PATCH] Test markdown changelog creation in CI Extract a github action to install the same version used in the release workflow. In future we should probably migrate to requirements.txt or similar. (cherry picked from commit 127c02992de6056e4a74a2d0a311bfb6c06dd9d0) --- .../actions/install-sphinx-markdown-builder/action.yml | 10 ++++++++++ .github/workflows/main.yml | 1 + .github/workflows/release.yml | 2 +- tests/checks/sphinx-markdown-changelog.fish | 9 +++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 .github/actions/install-sphinx-markdown-builder/action.yml create mode 100644 tests/checks/sphinx-markdown-changelog.fish diff --git a/.github/actions/install-sphinx-markdown-builder/action.yml b/.github/actions/install-sphinx-markdown-builder/action.yml new file mode 100644 index 000000000..5f58f32cb --- /dev/null +++ b/.github/actions/install-sphinx-markdown-builder/action.yml @@ -0,0 +1,10 @@ +name: Install sphinx-markdown-builder + +permissions: + contents: read + +runs: + using: "composite" + steps: + - run: pip install sphinx-markdown-builder==0.6.8 + shell: bash diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 048715853..4f25d7b7b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,6 +22,7 @@ jobs: sudo apt install gettext libpcre2-dev python3-pexpect tmux # Generate a locale that uses a comma as decimal separator. sudo locale-gen fr_FR.UTF-8 + - uses: ./.github/actions/install-sphinx-markdown-builder - name: cmake run: | mkdir build && cd build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index df70f2631..50a87de49 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,12 +42,12 @@ jobs: ref: ${{ inputs.version }} - name: Install dependencies run: sudo apt install cmake gettext ninja-build python3-pip python3-sphinx + - uses: ./.github/actions/install-sphinx-markdown-builder - name: Create tarball run: | set -x mkdir /tmp/fish-built FISH_ARTEFACT_PATH=/tmp/fish-built ./build_tools/make_tarball.sh - pip install sphinx-markdown-builder==0.6.8 relnotes=/tmp/fish-built/release-notes.md sh -x ./build_tools/release-notes.sh >"$relnotes" # Delete title diff --git a/tests/checks/sphinx-markdown-changelog.fish b/tests/checks/sphinx-markdown-changelog.fish new file mode 100644 index 000000000..348ffa196 --- /dev/null +++ b/tests/checks/sphinx-markdown-changelog.fish @@ -0,0 +1,9 @@ +#RUN: %fish %s +#REQUIRES: command -v sphinx-build +#REQUIRES: python -c 'import sphinx_markdown_builder' + +set -l build_script (status dirname)/../../build_tools/release-notes.sh +$build_script -q >relnotes.md +or echo "Failed to build Markdown release notes." +sed -n 1p relnotes.md +# CHECK: ## fish {{.*}} (released {{.*}})