66 - master
77 workflow_dispatch :
88
9+ env :
10+ CI_DOCKER_CACHE_PATH : ci/cache/docker
11+
912# Мы хотим чтобы deploy в ветку gh-pages
1013# происходили консистентно друг за другом
1114concurrency :
@@ -19,25 +22,69 @@ jobs:
1922 deploy :
2023 name : Deploy dev documentation
2124 runs-on : ubuntu-22.04
25+ env :
26+ RENDERER_NETWORK : renderer-net
27+ RENDERER_IMAGE : plantuml/plantuml-server:jetty-v1.2026.0
28+ RENDERER_CONTAINER_NAME : renderer
2229 defaults :
2330 run :
2431 working-directory : documentation
2532 steps :
2633 - uses : actions/checkout@v6
2734 with :
2835 fetch-depth : 0
36+
37+ - name : Setup docker image cache
38+ id : docker-image-cache
39+ uses : actions/cache@v3
40+ with :
41+ path : ${{ env.CI_DOCKER_CACHE_PATH }}
42+ key : ${{ env.RENDERER_IMAGE }}
43+
44+ - name : Update docker image cache
45+ if : steps.docker-image-cache.outputs.cache-hit != 'true'
46+ working-directory : ${{ github.workspace }}
47+ run : |
48+ docker pull "$RENDERER_IMAGE"
49+ mkdir -p ${CI_DOCKER_CACHE_PATH}/${RENDERER_IMAGE}
50+ docker image save -o ${CI_DOCKER_CACHE_PATH}/${RENDERER_CONTAINER_NAME}.tar "$RENDERER_IMAGE"
51+
52+ - name : Load docker image cache
53+ if : steps.docker-image-cache.outputs.cache-hit == 'true'
54+ working-directory : ${{ github.workspace }}
55+ run : |
56+ docker image load -i ${CI_DOCKER_CACHE_PATH}/${RENDERER_CONTAINER_NAME}.tar
57+
58+ - name : Start renderer service locally
59+ run : |
60+ docker network create "$RENDERER_NETWORK"
61+ docker run -d -p 7036:8080 --name "$RENDERER_CONTAINER_NAME" --network "$RENDERER_NETWORK" "$RENDERER_IMAGE"
62+
63+
2964 - name : Configure Git user
3065 run : |
3166 git config user.email "actions@github.com"
3267 git config user.name "GitHub Actions"
68+
69+
3370 - name : Setup python
3471 uses : actions/setup-python@v5
3572 with :
3673 python-version : 3.x
3774 cache : ' pip'
75+
3876 - name : Download mkdocs plugins
3977 run : pip install -r requirements.txt
78+
4079 - name : Deploy documentation into gh-pages branch
4180 run : mike deploy dev --push
81+
4282 - name : Setup default version
4383 run : mike set-default dev --push
84+
85+ - name : Cleanup renderer container
86+ if : always()
87+ run : |
88+ docker rm -f "$RENDERER_CONTAINER_NAME"
89+ docker network rm -f "$RENDERER_NETWORK"
90+ docker rmi -f ${RENDERER_REGISTRY}${RENDERER_IMAGE}
0 commit comments