Skip to content

Commit 1862e73

Browse files
authored
Test public images on our CI (opencv#58)
* Add tests for public images * run style checks on all pushes * Only fetch ipd once * turn on github caching of the docker builds Signed-off-by: Tully Foote <[email protected]>
1 parent e8da1e7 commit 1862e73

File tree

3 files changed

+103
-12
lines changed

3 files changed

+103
-12
lines changed

.github/workflows/build.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ jobs:
3131
load: true
3232
push: true
3333
tags: ghcr.io/opencv/bpc/bpc_pose_estimator:example
34+
cache-from: type=gha
35+
cache-to: type=gha,mode=max
3436
-
3537
name: Build tester
3638
uses: docker/build-push-action@v6
@@ -39,3 +41,5 @@ jobs:
3941
load: true
4042
push: true
4143
tags: ghcr.io/opencv/bpc/bpc_tester:latest
44+
cache-from: type=gha
45+
cache-to: type=gha,mode=max

.github/workflows/style.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ name: style
22
on:
33
pull_request:
44
push:
5-
branches: [ main ]
65
defaults:
76
run:
87
shell: bash

.github/workflows/test.yaml

Lines changed: 99 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,36 @@ name: Basic CI
22
on: [push]
33

44
jobs:
5-
basic_ci:
6-
name: Basic CI
5+
ipd_fetch:
6+
name: Fetch ipd dataset
7+
runs-on: ubuntu-latest
8+
timeout-minutes: 30
9+
steps:
10+
-
11+
name: Checkout
12+
uses: actions/checkout@v4
13+
-
14+
name: Build ibpc_py
15+
run: |
16+
cd ibpc_py
17+
python -m pip install -e .
18+
- name: Check space
19+
run: |
20+
df -h
21+
-
22+
name: Run bpc fetch
23+
run: |
24+
bpc fetch ipd --remove-zip-after-extract
25+
df -h
26+
-
27+
uses: actions/upload-artifact@v4
28+
with:
29+
name: ipd-dataset
30+
path: ipd
31+
32+
local_build:
33+
name: Test Local Build
34+
needs: ipd_fetch
735
runs-on: ubuntu-latest
836
timeout-minutes: 30
937
steps:
@@ -39,13 +67,17 @@ jobs:
3967
file: Dockerfile.estimator
4068
load: true
4169
tags: pose_estimator:latest
70+
cache-from: type=gha
71+
cache-to: type=gha,mode=max
4272
-
4373
name: Build tester
4474
uses: docker/build-push-action@v6
4575
with:
4676
file: Dockerfile.tester
4777
load: true
4878
tags: estimator-tester:latest
79+
cache-from: type=gha
80+
cache-to: type=gha,mode=max
4981
-
5082
name: Build ibpc_py
5183
run: |
@@ -55,13 +87,14 @@ jobs:
5587
run: |
5688
df -h
5789
docker images
90+
- uses: actions/download-artifact@v4
91+
with:
92+
name: ipd-dataset
93+
path: ipd
94+
- name: Display structure of downloaded files
95+
run: ls -lR
5896
-
59-
name: Run bpc fetch
60-
run: |
61-
bpc fetch ipd --remove-zip-after-extract
62-
df -h
63-
-
64-
name: Run bpc test
97+
name: Run bpc test local build
6598
continue-on-error: true
6699
run: |
67100
bpc test pose_estimator:latest ipd --tester-image estimator-tester:latest --no-gpu
@@ -70,12 +103,67 @@ jobs:
70103
run: |
71104
df -h
72105
-
73-
name: Check results
106+
name: Check results exist
107+
run: |
108+
cat ibpc_test_output.log
109+
cat ibpc_zenoh_output.log
110+
cat submission.csv
111+
public_image:
112+
name: Test Public Image
113+
needs: ipd_fetch
114+
runs-on: ubuntu-latest
115+
timeout-minutes: 30
116+
steps:
117+
-
118+
name: Remove unused content for disk space
119+
shell: bash
120+
run: |
121+
df -h
122+
sudo rm -rf /usr/share/dotnet
123+
sudo rm -rf /usr/local/lib/android
124+
sudo rm -rf /opt/ghc
125+
sudo rm -rf /opt/hostedtoolcache/CodeQL
126+
sudo docker image prune --all --force
127+
sudo docker builder prune -a
128+
df -h
129+
-
130+
name: Checkout
131+
uses: actions/checkout@v4
132+
-
133+
name: Set up Docker Buildx
134+
uses: docker/setup-buildx-action@v3
135+
# -
136+
# name: Login to GitHub Container Registry
137+
# uses: docker/login-action@v3
138+
# with:
139+
# registry: ghcr.io
140+
# username: ${{ github.actor }}
141+
# password: ${{ secrets.GITHUB_TOKEN }}
142+
-
143+
name: Build ibpc_py
144+
run: |
145+
cd ibpc_py
146+
python -m pip install -e .
147+
- name: Check space
148+
run: |
149+
df -h
150+
docker images
151+
- uses: actions/download-artifact@v4
152+
with:
153+
name: ipd-dataset
154+
path: ipd
155+
- name: Display structure of downloaded files
156+
run: ls -lR
157+
-
158+
name: Run bpc test public build
159+
continue-on-error: true
160+
run: |
161+
bpc test ghcr.io/opencv/bpc/bpc_pose_estimator:example ipd
162+
-
163+
name: Check results exist
74164
run: |
75165
cat ibpc_test_output.log
76166
cat ibpc_zenoh_output.log
77167
cat submission.csv
78-
79-
#TODO(tfoote) Also add tests for public images
80168
81169

0 commit comments

Comments
 (0)