3838 persist-credentials : false
3939
4040 - name : Set docker tag names
41+ id : tags
4142 uses : ./.github/actions/docker-tags
4243
4344 - name : Login to Docker Hub
@@ -62,11 +63,16 @@ jobs:
6263
6364 - name : Build image without cache
6465 if : github.event_name == 'schedule'
66+ env :
67+ TAG : ${{ steps.tags.outputs.TAG }}
6568 run : |
66- docker build -t freqtrade :${TAG} .
69+ docker build -t ${IMAGE_NAME} :${TAG} .
6770
6871 - name : Build ARMHF image without cache
6972 if : github.event_name == 'schedule'
73+ env :
74+ TAG_PI : ${{ steps.tags.outputs.TAG_PI }}
75+ CACHE_TAG_PI : ${{ steps.tags.outputs.CACHE_TAG_PI }}
7076 run : |
7177 docker buildx build \
7278 --cache-to=type=registry,ref=${CACHE_TAG_PI} \
7985
8086 - name : Build image with cache
8187 if : github.event_name != 'schedule'
88+ env :
89+ TAG : ${{ steps.tags.outputs.TAG }}
8290 run : |
8391 docker pull ${IMAGE_NAME}:${TAG} || true
84- docker build --cache-from ${IMAGE_NAME}:${TAG} -t freqtrade :${TAG} .
92+ docker build --cache-from ${IMAGE_NAME}:${TAG} -t ${CACHE_IMAGE} :${TAG} .
8593
8694 - name : Build ARMHF image with cache
8795 if : github.event_name != 'schedule'
@@ -98,23 +106,29 @@ jobs:
98106 .
99107
100108 - name : Run build for AI images
109+ env :
110+ TAG : ${{ steps.tags.outputs.TAG }}
111+ TAG_PLOT : ${{ steps.tags.outputs.TAG_PLOT }}
112+ TAG_FREQAI : ${{ steps.tags.outputs.TAG_FREQAI }}
113+ TAG_FREQAI_RL : ${{ steps.tags.outputs.TAG_FREQAI_RL }}
101114 run : |
102- docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG} -t freqtrade :${TAG_PLOT} -f docker/Dockerfile.plot .
103- docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG} -t freqtrade :${TAG_FREQAI} -f docker/Dockerfile.freqai .
104- docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_FREQAI} -t freqtrade :${TAG_FREQAI_RL} -f docker/Dockerfile.freqai_rl .
115+ docker build --build-arg sourceimage=${CACHE_IMAGE} --build-arg sourcetag=${TAG} -t ${CACHE_IMAGE} :${TAG_PLOT} -f docker/Dockerfile.plot .
116+ docker build --build-arg sourceimage=${CACHE_IMAGE} --build-arg sourcetag=${TAG} -t ${CACHE_IMAGE} :${TAG_FREQAI} -f docker/Dockerfile.freqai .
117+ docker build --build-arg sourceimage=${CACHE_IMAGE} --build-arg sourcetag=${TAG_FREQAI} -t ${CACHE_IMAGE} :${TAG_FREQAI_RL} -f docker/Dockerfile.freqai_rl .
105118
106- - name : Tag images for caching
107- run : |
108- docker tag freqtrade:$TAG ${CACHE_IMAGE}:$TAG
109- docker tag freqtrade:$TAG_PLOT ${CACHE_IMAGE}:$TAG_PLOT
110- docker tag freqtrade:$TAG_FREQAI ${CACHE_IMAGE}:$TAG_FREQAI
111- docker tag freqtrade:$TAG_FREQAI_RL ${CACHE_IMAGE}:$TAG_FREQAI_RL
112119
113120 - name : Run backtest in Docker
121+ env :
122+ TAG : ${{ steps.tags.outputs.TAG }}
114123 run : |
115- docker run --rm -v $(pwd)/tests/testdata/config.tests.json:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade :${TAG} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy StrategyTestV3
124+ docker run --rm -v $(pwd)/tests/testdata/config.tests.json:/freqtrade/config.json:ro -v $(pwd)/tests:/tests ${CACHE_IMAGE} :${TAG} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy StrategyTestV3
116125
117126 - name : Push cache images
127+ env :
128+ TAG : ${{ steps.tags.outputs.TAG }}
129+ TAG_PLOT : ${{ steps.tags.outputs.TAG_PLOT }}
130+ TAG_FREQAI : ${{ steps.tags.outputs.TAG_FREQAI }}
131+ TAG_FREQAI_RL : ${{ steps.tags.outputs.TAG_FREQAI_RL }}
118132 run : |
119133 docker push ${CACHE_IMAGE}:$TAG
120134 docker push ${CACHE_IMAGE}:$TAG_PLOT
@@ -140,6 +154,7 @@ jobs:
140154 persist-credentials : false
141155
142156 - name : Set docker tag names
157+ id : tags
143158 uses : ./.github/actions/docker-tags
144159
145160 - name : Login to Docker Hub
@@ -157,65 +172,89 @@ jobs:
157172
158173 - name : Build image without cache
159174 if : github.event_name == 'schedule'
175+ env :
176+ TAG_ARM : ${{ steps.tags.outputs.TAG_ARM }}
160177 run : |
161- docker build -t freqtrade :${TAG_ARM} .
178+ docker build -t ${IMAGE_NAME} :${TAG_ARM} .
162179
163180 - name : Build image with cache
164181 if : github.event_name != 'schedule'
182+ env :
183+ TAG_ARM : ${{ steps.tags.outputs.TAG_ARM }}
165184 run : |
166185 docker pull ${IMAGE_NAME}:${TAG_ARM} || true
167- docker build --cache-from ${IMAGE_NAME}:${TAG_ARM} -t freqtrade :${TAG_ARM} .
186+ docker build --cache-from ${IMAGE_NAME}:${TAG_ARM} -t ${CACHE_IMAGE} :${TAG_ARM} .
168187
169188 - name : Run build for AI images
189+ env :
190+ TAG_PLOT_ARM : ${{ steps.tags.outputs.TAG_PLOT_ARM }}
191+ TAG_FREQAI_ARM : ${{ steps.tags.outputs.TAG_FREQAI_ARM }}
192+ TAG_FREQAI_RL_ARM : ${{ steps.tags.outputs.TAG_FREQAI_RL_ARM }}
170193 run : |
171- docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_ARM} -t freqtrade :${TAG_PLOT_ARM} -f docker/Dockerfile.plot .
172- docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_ARM} -t freqtrade :${TAG_FREQAI_ARM} -f docker/Dockerfile.freqai .
173- docker build --build-arg sourceimage=freqtrade --build-arg sourcetag=${TAG_FREQAI_ARM} -t freqtrade :${TAG_FREQAI_RL_ARM} -f docker/Dockerfile.freqai_rl .
194+ docker build --build-arg sourceimage=${CACHE_IMAGE} --build-arg sourcetag=${TAG_ARM} -t ${CACHE_IMAGE} :${TAG_PLOT_ARM} -f docker/Dockerfile.plot .
195+ docker build --build-arg sourceimage=${CACHE_IMAGE} --build-arg sourcetag=${TAG_ARM} -t ${CACHE_IMAGE} :${TAG_FREQAI_ARM} -f docker/Dockerfile.freqai .
196+ docker build --build-arg sourceimage=${CACHE_IMAGE} --build-arg sourcetag=${TAG_FREQAI_ARM} -t ${CACHE_IMAGE} :${TAG_FREQAI_RL_ARM} -f docker/Dockerfile.freqai_rl .
174197
175- - name : Tag images for caching
176- run : |
177- docker tag freqtrade:$TAG_ARM ${CACHE_IMAGE}:$TAG_ARM
178- docker tag freqtrade:$TAG_PLOT_ARM ${CACHE_IMAGE}:$TAG_PLOT_ARM
179- docker tag freqtrade:$TAG_FREQAI_ARM ${CACHE_IMAGE}:$TAG_FREQAI_ARM
180- docker tag freqtrade:$TAG_FREQAI_RL_ARM ${CACHE_IMAGE}:$TAG_FREQAI_RL_ARM
181198
182199 - name : Run backtest in Docker
200+ env :
201+ TAG_ARM : ${{ steps.tags.outputs.TAG_ARM }}
183202 run : |
184- docker run --rm -v $(pwd)/tests/testdata/config.tests.json:/freqtrade/config.json:ro -v $(pwd)/tests:/tests freqtrade :${TAG_ARM} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy StrategyTestV3
203+ docker run --rm -v $(pwd)/tests/testdata/config.tests.json:/freqtrade/config.json:ro -v $(pwd)/tests:/tests ${CACHE_IMAGE} :${TAG_ARM} backtesting --datadir /tests/testdata --strategy-path /tests/strategy/strats/ --strategy StrategyTestV3
185204
186205 - name : Docker images
187206 run : |
188207 docker images
189208
190209 - name : Push cache images
210+ env :
211+ TAG_PLOT_ARM : ${{ steps.tags.outputs.TAG_PLOT_ARM }}
212+ TAG_FREQAI_ARM : ${{ steps.tags.outputs.TAG_FREQAI_ARM }}
213+ TAG_FREQAI_RL_ARM : ${{ steps.tags.outputs.TAG_FREQAI_RL_ARM }}
214+ TAG_ARM : ${{ steps.tags.outputs.TAG_ARM }}
191215 run : |
192216 docker push ${CACHE_IMAGE}:$TAG_PLOT_ARM
193217 docker push ${CACHE_IMAGE}:$TAG_FREQAI_ARM
194218 docker push ${CACHE_IMAGE}:$TAG_FREQAI_RL_ARM
195219 docker push ${CACHE_IMAGE}:$TAG_ARM
196220
197221 - name : Create manifests
222+ env :
223+ TAG_PLOT_ARM : ${{ steps.tags.outputs.TAG_PLOT_ARM }}
224+ TAG_FREQAI_ARM : ${{ steps.tags.outputs.TAG_FREQAI_ARM }}
225+ TAG_FREQAI_RL_ARM : ${{ steps.tags.outputs.TAG_FREQAI_RL_ARM }}
226+ TAG_ARM : ${{ steps.tags.outputs.TAG_ARM }}
198227 run : |
199228 docker buildx imagetools create \
200229 --tag ${IMAGE_NAME}:${TAG} \
201230 --tag ${GHCR_IMAGE_NAME}:${TAG} \
202231 ${CACHE_IMAGE}:${TAG} ${CACHE_IMAGE}:${TAG_ARM} ${IMAGE_NAME}:${TAG_PI}
203232
204233 - name : Create multiarch image - Plot
234+ env :
235+ TAG_PLOT : ${{ steps.tags.outputs.TAG_PLOT }}
236+ TAG_PLOT_ARM : ${{ steps.tags.outputs.TAG_PLOT_ARM }}
205237 run : |
206238 docker buildx imagetools create \
207239 --tag ${IMAGE_NAME}:${TAG_PLOT} \
208240 --tag ${GHCR_IMAGE_NAME}:${TAG_PLOT} \
209241 ${CACHE_IMAGE}:${TAG_PLOT} ${CACHE_IMAGE}:${TAG_PLOT_ARM}
210242
211243 - name : Create multiarch image - FreqAI
244+ env :
245+ TAG_FREQAI : ${{ steps.tags.outputs.TAG_FREQAI }}
246+ TAG_FREQAI_ARM : ${{ steps.tags.outputs.TAG_FREQAI_ARM }}
212247 run : |
213248 docker buildx imagetools create \
214249 --tag ${IMAGE_NAME}:${TAG_FREQAI} \
215250 --tag ${GHCR_IMAGE_NAME}:${TAG_FREQAI} \
216251 ${CACHE_IMAGE}:${TAG_FREQAI} ${CACHE_IMAGE}:${TAG_FREQAI_ARM}
217252
218253 - name : Create multiarch image - FreqAI RL
254+ env :
255+ TAG_FREQAI_RL : ${{ steps.tags.outputs.TAG_FREQAI_RL }}
256+ TAG_FREQAI_RL_ARM : ${{ steps.tags.outputs.TAG_FREQAI_RL_ARM }}
257+ TAG_FREQAI_TORCH : ${{ steps.tags.outputs.TAG_FREQAI_TORCH }}
219258 run : |
220259 # Create special Torch tag - which is identical to the RL tag.
221260 docker buildx imagetools create \
@@ -227,6 +266,8 @@ jobs:
227266
228267 - name : Tag latest
229268 if : env.TAG == 'develop'
269+ env :
270+ TAG : ${{ steps.tags.outputs.TAG }}
230271 run : |
231272 # Tag image as latest
232273 docker buildx imagetools create \
0 commit comments