[wip] introduce nimbase Docker image for improved caching
This commit is contained in:
parent
d78e737a04
commit
80be251c8f
|
@ -83,8 +83,6 @@ jobs:
|
||||||
docker save iptestground/sidecar:edge | gzip > "${HOME}/docker/saved-images/iptestground_sidecar_edge.tar.gz"
|
docker save iptestground/sidecar:edge | gzip > "${HOME}/docker/saved-images/iptestground_sidecar_edge.tar.gz"
|
||||||
docker save iptestground/sync-service:edge | gzip > "${HOME}/docker/saved-images/iptestground_sync-service_edge.tar.gz"
|
docker save iptestground/sync-service:edge | gzip > "${HOME}/docker/saved-images/iptestground_sync-service_edge.tar.gz"
|
||||||
docker save iptestground/testground:edge | gzip > "${HOME}/docker/saved-images/iptestground_testground_edge.tar.gz"
|
docker save iptestground/testground:edge | gzip > "${HOME}/docker/saved-images/iptestground_testground_edge.tar.gz"
|
||||||
docker pull nimlang/nim:latest
|
|
||||||
docker save nimlang/nim:latest | gzip > "${HOME}/docker/saved-images/nimlang_nim_latest.tar.gz"
|
|
||||||
working-directory: testground
|
working-directory: testground
|
||||||
|
|
||||||
- name: Restore Testground resources from cache
|
- name: Restore Testground resources from cache
|
||||||
|
@ -93,10 +91,10 @@ jobs:
|
||||||
docker load < "${HOME}/docker/saved-images/iptestground_sidecar_edge.tar.gz"
|
docker load < "${HOME}/docker/saved-images/iptestground_sidecar_edge.tar.gz"
|
||||||
docker load < "${HOME}/docker/saved-images/iptestground_sync-service_edge.tar.gz"
|
docker load < "${HOME}/docker/saved-images/iptestground_sync-service_edge.tar.gz"
|
||||||
docker load < "${HOME}/docker/saved-images/iptestground_testground_edge.tar.gz"
|
docker load < "${HOME}/docker/saved-images/iptestground_testground_edge.tar.gz"
|
||||||
docker load < "${HOME}/docker/saved-images/nimlang_nim_latest.tar.gz"
|
docker load < "${HOME}/docker/saved-images/nimbase_latest.tar.gz"
|
||||||
docker load < "${HOME}/docker/saved-images/bitnami_grafana_latest.tar.gz" || true
|
docker load < "${HOME}/docker/saved-images/bitnami_grafana_latest.tar.gz"
|
||||||
docker load < "${HOME}/docker/saved-images/redis_latest.tar.gz" || true
|
docker load < "${HOME}/docker/saved-images/redis_latest.tar.gz"
|
||||||
docker load < "${HOME}/docker/saved-images/influxdb_1.8.tar.gz" || true
|
docker load < "${HOME}/docker/saved-images/influxdb_1.8.tar.gz"
|
||||||
|
|
||||||
- name: Start Testground executable
|
- name: Start Testground executable
|
||||||
run: testground daemon &
|
run: testground daemon &
|
||||||
|
@ -112,6 +110,7 @@ jobs:
|
||||||
if: steps.testground-reources-cache.outputs.cache-hit != 'true'
|
if: steps.testground-reources-cache.outputs.cache-hit != 'true'
|
||||||
run: |
|
run: |
|
||||||
docker ps -a -q | xargs docker kill &>/dev/null ; docker ps -a -q | xargs docker rm
|
docker ps -a -q | xargs docker kill &>/dev/null ; docker ps -a -q | xargs docker rm
|
||||||
|
docker save nimbase:latest | gzip > "${HOME}/docker/saved-images/nimbase_latest.tar.gz"
|
||||||
docker save bitnami/grafana:latest | gzip > "${HOME}/docker/saved-images/bitnami_grafana_latest.tar.gz"
|
docker save bitnami/grafana:latest | gzip > "${HOME}/docker/saved-images/bitnami_grafana_latest.tar.gz"
|
||||||
docker save redis:latest | gzip > "${HOME}/docker/saved-images/redis_latest.tar.gz"
|
docker save redis:latest | gzip > "${HOME}/docker/saved-images/redis_latest.tar.gz"
|
||||||
docker save influxdb:1.8 | gzip > "${HOME}/docker/saved-images/influxdb_1.8.tar.gz"
|
docker save influxdb:1.8 | gzip > "${HOME}/docker/saved-images/influxdb_1.8.tar.gz"
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -28,6 +28,7 @@ LINK_PCRE := 0
|
||||||
test \
|
test \
|
||||||
testground \
|
testground \
|
||||||
testground_exec \
|
testground_exec \
|
||||||
|
testground_nimbase \
|
||||||
update
|
update
|
||||||
|
|
||||||
ifeq ($(NIM_PARAMS),)
|
ifeq ($(NIM_PARAMS),)
|
||||||
|
@ -133,7 +134,7 @@ TESTGROUND_TESTCASE ?= default
|
||||||
|
|
||||||
TESTGROUND_SCRATCH_IGNORE ?= "\.update\.timestamp\|Would skip\|build/\|codex\.nims\|nimcache/\|scratch/\|vendor/\.nimble"
|
TESTGROUND_SCRATCH_IGNORE ?= "\.update\.timestamp\|Would skip\|build/\|codex\.nims\|nimcache/\|scratch/\|vendor/\.nimble"
|
||||||
|
|
||||||
testground:
|
testground: testground_nimbase
|
||||||
mkdir -p scratch && rm -rf scratch/* && git clone --depth=1 "file://$${PWD}" "scratch/$$(basename $${PWD})"
|
mkdir -p scratch && rm -rf scratch/* && git clone --depth=1 "file://$${PWD}" "scratch/$$(basename $${PWD})"
|
||||||
[[ $$(git status --porcelain) == "" ]] || (git diff --merge-base HEAD > "scratch/$$(basename $${PWD})/scratch.patch")
|
[[ $$(git status --porcelain) == "" ]] || (git diff --merge-base HEAD > "scratch/$$(basename $${PWD})/scratch.patch")
|
||||||
[[ $$(git status --porcelain) == "" ]] || (cd "scratch/$$(basename $${PWD})" && git apply --allow-empty scratch.patch)
|
[[ $$(git status --porcelain) == "" ]] || (cd "scratch/$$(basename $${PWD})" && git apply --allow-empty scratch.patch)
|
||||||
|
@ -147,6 +148,10 @@ testground:
|
||||||
testground_exec: | build deps
|
testground_exec: | build deps
|
||||||
TESTGROUND_PLAN=$(TESTGROUND_PLAN) $(ENV_SCRIPT) nim testground_exec codex.nims
|
TESTGROUND_PLAN=$(TESTGROUND_PLAN) $(ENV_SCRIPT) nim testground_exec codex.nims
|
||||||
|
|
||||||
|
testground_nimbase:
|
||||||
|
echo -e $(BUILD_MSG) "nimbase Docker image" && \
|
||||||
|
[[ $$(docker image inspect nimbase:latest) != "[]" ]] || (cd testground/base && docker build -t nimbase .)
|
||||||
|
|
||||||
# usual cleaning
|
# usual cleaning
|
||||||
clean: | clean-common
|
clean: | clean-common
|
||||||
rm -rf build
|
rm -rf build
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
FROM nimlang/nim
|
||||||
|
|
||||||
|
RUN apt-get update -qq && \
|
||||||
|
DEBIAN_FRONTEND="noninteractive" apt-get install -yq cmake curl make && \
|
||||||
|
rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*
|
|
@ -0,0 +1,3 @@
|
||||||
|
# nimbase Docker image
|
||||||
|
|
||||||
|
This directory does not contain a Codex Testground plan, but instead a `Dockerfile` that's used in conjunction with plans in the other subdirectories of `nim-codex/testground`.
|
|
@ -1,9 +1,4 @@
|
||||||
FROM nimlang/nim as builder
|
FROM nimbase
|
||||||
|
|
||||||
RUN apt update -qq && \
|
|
||||||
DEBIAN_FRONTEND="noninteractive" apt install -yq cmake curl make
|
|
||||||
|
|
||||||
FROM builder
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
FROM nimlang/nim as builder
|
FROM nimbase
|
||||||
|
|
||||||
RUN apt update -qq && \
|
|
||||||
DEBIAN_FRONTEND="noninteractive" apt install -yq cmake curl make
|
|
||||||
|
|
||||||
FROM builder
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue