diff --git a/.github/workflows/man.yml b/.github/workflows/man.yml new file mode 100644 index 0000000..9c3b020 --- /dev/null +++ b/.github/workflows/man.yml @@ -0,0 +1,44 @@ +name: Manual + +env: + PROJECT: abduco + +on: + push: + paths: + - '*.1' + +jobs: + man: + runs-on: ubuntu-latest + steps: + + - name: Checkout + uses: actions/checkout@v2 + + - name: Dependency + run: sudo apt install mandoc + + - name: Manual generation + run: | + mkdir man + sed -e "s/VERSION/$(git describe --always)/" ${PROJECT}.1 | \ + mandoc -W warning -T utf8 -T html -O man=%N.%S.html -O style=mandoc.css 1> \ + "man/${PROJECT}.1.html" || true + wget 'https://cvsweb.bsd.lv/~checkout~/mandoc/mandoc.css?rev=1.46&content-type=text/plain' -O man/mandoc.css + ln -sf "${PROJECT}.1.html" man/index.html + + - name: Upload + env: + DEPLOY_TOKEN: ${{ secrets.GIT_DEPLOY_TOKEN }} + run: | + git clone --depth=1 --single-branch --branch gh-pages "https://x-access-token:${DEPLOY_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" /tmp/gh-pages + git config --global user.name "${GITHUB_ACTOR}" + git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" + mkdir -p /tmp/gh-pages/man + rm -f /tmp/gh-pages/man/* + cp -av man/*.html /tmp/gh-pages/man/ + cp -av man/*.css /tmp/gh-pages/man/ + cd /tmp/gh-pages + git add -A && git commit --allow-empty -am "Publishing from ${GITHUB_REPOSITORY} ${GITHUB_SHA}" + git push origin gh-pages