Skip to content

Commit 087b2b5

Browse files
authored
use built commander image in CI (#523)
1 parent f70dca2 commit 087b2b5

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

.github/workflows/test.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,34 @@ jobs:
2525
- uses: eifinger/setup-uv@v1
2626
- run: uvx ruff format . --check
2727

28+
build-image:
29+
needs: [ruff, ruff-format]
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v4
34+
35+
- name: Set up Docker Buildx
36+
uses: docker/setup-buildx-action@v3
37+
38+
- name: Build and export
39+
uses: docker/build-push-action@v5
40+
with:
41+
file: resources/images/commander/Dockerfile
42+
context: .
43+
tags: bitcoindevproject/warnet-commander:latest
44+
cache-from: type=gha
45+
cache-to: type=gha,mode=max
46+
outputs: type=docker,dest=/tmp/commander.tar
47+
48+
- name: Upload artifact
49+
uses: actions/upload-artifact@v4
50+
with:
51+
name: commander
52+
path: /tmp/commander.tar
53+
2854
test:
55+
needs: [build-image]
2956
runs-on: ubuntu-latest
3057
strategy:
3158
matrix:
@@ -44,9 +71,20 @@ jobs:
4471
with:
4572
cpus: max
4673
memory: 4000m
74+
- name: Download commander artifact
75+
uses: actions/download-artifact@v4
76+
with:
77+
name: commander
78+
path: /tmp
4779
- uses: eifinger/setup-uv@v1
4880
- name: Install project
4981
run: uv sync --all-extras --dev
82+
- name: Install commander image
83+
run: |
84+
echo loading commander image into minikube docker
85+
eval $(minikube -p minikube docker-env)
86+
docker load --input /tmp/commander.tar
87+
docker image ls -a
5088
- name: Run tests
5189
run: |
5290
source .venv/bin/activate

resources/images/commander/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM python:3.12-slim
44
# Python dependencies
55
#RUN pip install --no-cache-dir prometheus_client
66

7-
COPY src/warnet/scenarios/commander.py /
7+
COPY resources/scenarios/commander.py /
88
COPY src/test_framework /test_framework
99

1010
# -u: force the stdout and stderr streams to be unbuffered

0 commit comments

Comments
 (0)