Skip to content

Put README generation in GitHub Action #6

Put README generation in GitHub Action

Put README generation in GitHub Action #6

Workflow file for this run

name: Build documentation
on:
push:
jobs:
build-readme:
runs-on: ubuntu-latest
name: Build README.md
permissions:
contents: write
steps:
- name: Install jinja-cli
run: |
python3 -m pip install jinja-cli
- name: Check out code for the container build
uses: actions/checkout@v4
- name: Check if README.md has changed
id: readme-changed
run: |
if ! git --no-pager diff --name-only --quiet --diff-filter=AM 'HEAD^' hyakvnc .build/README.j2.md .github/workflows/mkreadme.yml; then
gh run cancel ${{ github.run_id }}
gh run watch ${{ github.run_id }}
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Generate configuration descriptions
run: |
pushd .build/
sed -E '/^HYAKVNC_.*#\s*%%/!d; s/=.*(#\s*%%)/:/g; s/(^.)/- \1/g' ../hyakvnc > config.inc.md
popd
- name: Generate usage descriptions
run: |
pushd .build/
for x in create status show stop config install; do ../hyakvnc help "$x" | sed -E '1 s/(.*)/\n### \1\n/; 2 s/^$/```text/' | pr -e4 -t && echo '```'; done > usage.inc.md
popd
- name: Create and push README.md
run: |
pushd .build/
jinja -D github_repository "${{ github.repository }}" -D github_ref_name "${{ github.ref_name }}" README.j2.md | sed 's/^.*<!-- markdownlint-disable-file -->.*$//g' > ../README.md
popd
git config --local user.email "${{ github.event.sender.id }}+${{ github.event.sender.login }}@users.noreply.github.com"
git config --local user.name ${{ github.event.sender.login }}
git add README.md
git commit -am "Update README.md"
git push