From 993717526c92def423e9825da33cfe9171661c29 Mon Sep 17 00:00:00 2001 From: Oleksandr Redko Date: Mon, 20 Jan 2025 19:41:28 +0200 Subject: [PATCH] Verify formatting of code snippets in CI --- .ci.readme.fmt.sh | 10 ++++++++++ .github/workflows/main.yml | 13 +++++++++++++ .mdsf.json | 12 ++++++++++++ 3 files changed, 35 insertions(+) create mode 100755 .ci.readme.fmt.sh create mode 100644 .mdsf.json diff --git a/.ci.readme.fmt.sh b/.ci.readme.fmt.sh new file mode 100755 index 000000000..6f1f3a269 --- /dev/null +++ b/.ci.readme.fmt.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Verify that the code snippets in README.md are formatted. +# The tool https://github.com/hougesen/mdsf is used. + +if [ -n "$(mdsf verify --config .mdsf.json README.md 2>&1)" ]; then + echo "Go code in the README.md is not formatted." + echo "Did you forget to run 'mdsf format --config .mdsf.json README.md'?" + exit 1 +fi diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1dd4e650f..b5110794b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,6 +15,7 @@ jobs: uses: actions/setup-go@v5 with: go-version: ${{ matrix.go_version }} + - uses: actions/setup-node@v4 - run: ./.ci.gogenerate.sh - run: ./.ci.gofmt.sh - run: ./.ci.govet.sh @@ -37,3 +38,15 @@ jobs: with: go-version: ${{ matrix.go_version }} - run: go test -v -race ./... + format: + name: Check formatting of code snippets in markdown files + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: stable + - run: npm install -g mdsf-cli + - run: ./.ci.gofmt.sh + - run: ./.ci.readme.fmt.sh diff --git a/.mdsf.json b/.mdsf.json new file mode 100644 index 000000000..7617589ce --- /dev/null +++ b/.mdsf.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://raw.githubusercontent.com/hougesen/mdsf/main/schemas/v0.4.1/mdsf.schema.json", + "format_finished_document": false, + "languages": { + "go": [ + [ + "gofmt", + "goimports" + ] + ] + } +}