diff --git a/.forgejo/workflows/doc.yaml b/.forgejo/workflows/doc.yaml new file mode 100644 index 0000000..827aefa --- /dev/null +++ b/.forgejo/workflows/doc.yaml @@ -0,0 +1,24 @@ +on: [push] +jobs: + build-doc: + runs-on: docker + container: + image: git.tkolb.de/amateurfunk/hamnet70/asciidoctor:1.6 + steps: + - uses: actions/checkout@v4 + - run: cd doc && make + - uses: actions/upload-artifact@v3 + with: + name: documentation + path: doc/out/ + deploy-doc: + needs: build-doc + runs-on: docker + container: + image: git.tkolb.de/amateurfunk/hamnet70/asciidoctor:1.6 + steps: + - run: mkdir ~/.ssh && echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_ed25519 && chmod 0600 ~/.ssh/id_ed25519 && echo "${{ secrets.SSH_KNOWN_HOST }}" > ~/.ssh/known_hosts + - uses: actions/download-artifact@v3 + with: + name: documentation + - run: 'rsync -e "ssh -p 2342" -r . deployment@tkolb.de:' diff --git a/doc/docker/Dockerfile b/doc/docker/Dockerfile new file mode 100644 index 0000000..60a0d7c --- /dev/null +++ b/doc/docker/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:stable + +# for basic Forgejo + AsciiDoctor support +RUN apt update && apt install -y --no-install-recommends nodejs git ruby-rubygems make && apt clean + +RUN gem install asciidoctor asciidoctor-diagram + +# tools for diagram generation +RUN apt install -y --no-install-recommends mscgen && apt clean + +# tools for automatic deployment +RUN apt install -y --no-install-recommends rsync openssh-client && apt clean + +# run as unprivileged user in the container +RUN useradd -m ciuser +USER ciuser diff --git a/doc/docker/build.sh b/doc/docker/build.sh new file mode 100755 index 0000000..02cabee --- /dev/null +++ b/doc/docker/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ -z "$1" ]; then + echo "usage: $0 " + exit 1 +fi + +docker build -t git.tkolb.de/amateurfunk/hamnet70/asciidoctor:$1 . diff --git a/doc/docker/test.sh b/doc/docker/test.sh new file mode 100755 index 0000000..1a22732 --- /dev/null +++ b/doc/docker/test.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ -z "$1" ]; then + echo "usage: $0 " + exit 1 +fi + +docker run -v $(realpath ..):/doc -it git.tkolb.de/amateurfunk/hamnet70/asciidoctor:$1 diff --git a/doc/docker/upload.sh b/doc/docker/upload.sh new file mode 100755 index 0000000..1733dce --- /dev/null +++ b/doc/docker/upload.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +if [ -z "$1" ]; then + echo "usage: $0 " + exit 1 +fi + +docker login +docker push git.tkolb.de/amateurfunk/hamnet70/asciidoctor:$1 +docker logout