diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index d5a0934..80bac42 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -17,10 +17,20 @@ jobs: - name: Set up dependencies run: | - sudo apt install inkscape graphviz + sudo apt install inkscape + + curl --progress-bar --remote-name --output-dir $RUNNER_TEMP $GRAPHVIZ_DOWNLOAD_URL + tar -xzf $RUNNER_TEMP/*.tar.gz --directory $RUNNER_TEMP + pushd $RUNNER_TEMP/graphviz-*/ + ./configure --with-rsvg=yes --disable-swig + make -j4 + sudo make install + popd python -m pip install --upgrade pip python -m pip install --requirement requirements.txt + env: + GRAPHVIZ_DOWNLOAD_URL: https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/11.0.0/graphviz-11.0.0.tar.gz - name: Run Holocron run: holocron run compile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c99a076..50c9560 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,14 @@ on: jobs: Test: runs-on: ubuntu-latest + services: + graphviz: + image: ghcr.io/ikalnytskyi/dot:latest + options: --name graphviz --interactive + credentials: + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + steps: - uses: actions/checkout@v2 @@ -19,10 +27,22 @@ jobs: - name: Set up dependencies run: | - sudo apt install inkscape graphviz + sudo apt install inkscape + + cat << EOF > /usr/local/bin/dot + #!/bin/sh + exec /usr/bin/docker exec --interactive graphviz /usr/bin/dot $@ + EOF + chmod +x /usr/local/bin/dot python -m pip install --upgrade pip python -m pip install --requirement requirements.txt + - uses: mxschmitt/action-tmate@v3 + - name: Run Holocron run: holocron run compile + + - name: Test + run: + grep "svg" _site/posts/on-tmux-osc52-support/index.html diff --git a/posts/2023-11-14_on-tmux-osc52-support/index.markdown b/posts/2023-11-14_on-tmux-osc52-support/index.markdown index 4382f08..b067397 100644 --- a/posts/2023-11-14_on-tmux-osc52-support/index.markdown +++ b/posts/2023-11-14_on-tmux-osc52-support/index.markdown @@ -21,7 +21,7 @@ within. Needless to say that a NeoVim instance running inside container has no access to the system clipboard[^2], and this is where OSC-52 comes to the rescue! -```dot { "exec": ["dot", "-Tsvg"] } +```dot { "exec": ["dot", "-Tsvg_inline"] } digraph G { pencolor = "#2E3440" style = dashed @@ -78,7 +78,7 @@ copying: we just send a text we want to copy to all clients and let their terminal emulators to set the system clipboard. But what should we do with pasting? What attached client should be used as a clipboard source? -```dot { "exec": ["dot", "-Tsvg"] } +```dot { "exec": ["dot", "-Tsvg_inline"] } digraph G { pencolor = "#2E3440" style = dashed