From bd75bc47e45f231b62dfc8a9688bb5bf7ae42a48 Mon Sep 17 00:00:00 2001 From: Vittorio Parrella Date: Wed, 21 Aug 2024 19:37:45 +0200 Subject: [PATCH] generate pdf on CI --- .github/workflows/integration.yml | 3 +++ .github/workflows/release.yml | 44 ++++++++++++++++++++++++++++++- docs/user-manual.md | 4 +-- 3 files changed, 47 insertions(+), 4 deletions(-) diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 1af2483..199c8ad 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -18,6 +18,7 @@ jobs: env: GO_VERSION: 1.20.14 PANDOC_VERSION: 3.3 + TEST_VER: 0.5.0 steps: - uses: actions/checkout@v4 @@ -41,6 +42,8 @@ jobs: - name: Generate PDF run: | cd docs/ + sed -E 's/subtitle:.+/subtitle: "User Manual - version ${{ env.TEST_VER }}"/' user-manual.md > user-manual.md + sed -E 's/date:.+/date: "${date \'+%x %T\'}"/' user-manual.md > user-manual.md go generate - uses: actions/upload-artifact@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7850694..4ea3531 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -249,8 +249,50 @@ jobs: check_name: "Unit Tests - Windows Platform" junit_files: "unit/*.xml" + docs: + if: true + runs-on: ubuntu-latest + defaults: + run: + shell: bash + + env: + GO_VERSION: 1.20.14 + PANDOC_VERSION: 3.3 + + steps: + - uses: actions/checkout@v4 + with: + clean: true + submodules: false + + - name: Install Pandoc + uses: pandoc/actions/setup@v1.0.0 + with: + version: ${{ env.PANDOC_VERSION }} + + - name: Install TeXlive + run: sudo apt-get update && sudo apt-get install texlive-small + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Generate PDF + run: | + cd docs/ + sed -E 's/subtitle:.+/subtitle: "User Manual - version ${{ github.event.inputs.version_tag }}"/' user-manual.md > user-manual.md + sed -E 's/date:.+/date: "${date \'+%x %T\'}"/' user-manual.md > user-manual.md + go generate + + - uses: actions/upload-artifact@v4 + with: + name: qpep_user_manual + path: "docs/*.pdf" + create-release-tag: - needs: [build-windows, build-linux] + needs: [build-windows, build-linux, docs] runs-on: ubuntu-latest defaults: run: diff --git a/docs/user-manual.md b/docs/user-manual.md index 77953d8..0253a4c 100644 --- a/docs/user-manual.md +++ b/docs/user-manual.md @@ -49,8 +49,6 @@ Both methods do seamlessly bridge, in the form of QUIC streams, the TCP connecti Once this stream is received on the server, a connection to the original destination of the TCP connection is opened and the request is executed and the data exchanged as if the tunnel was not there at all. -\newpage - The following image exposes schematically the architecture for QPep: ![Architecture of QPep](intro_scheme.png){ width=350pt } @@ -78,7 +76,7 @@ The benefits of using the QUIC protocol over UDP are too numerous to list here, * **_Adaptability to differing MTU conditions_** as the QUIC packets are usually sent to the MTU size of the connection and is automatically adapted if sent packets are detected as lost -\bigskip +\newpage QPep supports different backend implementations of the QUIC protocol at the moment: