File tree Expand file tree Collapse file tree 5 files changed +61
-7
lines changed Expand file tree Collapse file tree 5 files changed +61
-7
lines changed Original file line number Diff line number Diff line change @@ -22,25 +22,51 @@ stages:
22
22
- apk add bash curl tar
23
23
- source scripts/helpers.sh
24
24
- docker_login
25
- - ' image=$(echo $CI_JOB_NAME | cut -d : -f 2)'
25
+ - ' image=$(echo " $CI_JOB_NAME" | cut -d : -f 2)'
26
26
- ' [ -z "$NEED_PROJECT_DOWNLOAD" ] || download_project $image'
27
+
28
+ .single-image-build-base :
29
+ extends :
30
+ - .image-build-base
31
+ script :
32
+ - !reference [.image-build-base, script]
27
33
- build_image $image $CI_PIPELINE_ID
28
34
- push_image $image $CI_PIPELINE_ID
29
35
30
- container:mise :
36
+ .variant-image-build-base :
31
37
extends :
32
38
- .image-build-base
39
+ script :
40
+ - !reference [.image-build-base, script]
41
+ - build_image $image $CI_PIPELINE_ID "--build-arg VARIANT=$VARIANT"
42
+ - push_image $image $CI_PIPELINE_ID "$VARIANT"
43
+
44
+ container:mise :
45
+ extends :
46
+ - .single-image-build-base
33
47
34
48
container:rust :
35
49
extends :
36
- - .image-build-base
50
+ - .single- image-build-base
37
51
needs :
38
52
- container:mise
39
53
40
54
container:aquila :
41
55
extends :
42
- - .image-build-base
56
+ - .single-image-build-base
57
+ needs :
58
+ - container:rust
59
+ variables :
60
+ NEED_PROJECT_DOWNLOAD : ' true'
61
+
62
+ container:draco :
63
+ extends :
64
+ - .variant-image-build-base
43
65
needs :
44
66
- container:rust
45
67
variables :
46
68
NEED_PROJECT_DOWNLOAD : ' true'
69
+ parallel :
70
+ matrix :
71
+ - VARIANT :
72
+ - rest
Original file line number Diff line number Diff line change
1
+ ARG RETICULUM_IMAGE_TAG=local
2
+ ARG VARIANT
3
+
4
+ FROM ghcr.io/code0-tech/reticulum/ci-builds/rust:$RETICULUM_IMAGE_TAG as builder
5
+
6
+ WORKDIR /draco
7
+ COPY projects/draco .
8
+ WORKDIR /draco/adapters/$VARIANT
9
+ RUN cargo build --release
10
+
11
+ FROM alpine:3.21
12
+ ARG VARIANT
13
+
14
+ RUN apk --update add libc6-compat
15
+ COPY --from=builder /draco/target/release/$VARIANT /draco
16
+
17
+ CMD ["/draco" ]
Original file line number Diff line number Diff line change 4
4
5
5
source scripts/helpers.sh
6
6
7
- rm -rf projects
8
- mkdir projects
7
+ rm -rf projects/ *
8
+ mkdir -p projects
9
9
10
10
download_project aquila
11
+ download_project draco
11
12
download_project sagittarius
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ function docker_login() {
16
16
function build_image() {
17
17
image=$1
18
18
reticulum_tag=$2
19
+ build_args=$3
19
20
20
21
echo " Building image for $image "
21
22
@@ -28,9 +29,17 @@ function build_image() {
28
29
-t " ghcr.io/code0-tech/reticulum/ci-builds/$image :$reticulum_tag " \
29
30
-f " container/$image /Dockerfile" \
30
31
--build-arg RETICULUM_IMAGE_TAG=$reticulum_tag \
32
+ $build_args \
31
33
.
32
34
}
33
35
34
36
function push_image() {
35
- docker push " ghcr.io/code0-tech/reticulum/ci-builds/$image :$reticulum_tag "
37
+ image=$1
38
+ reticulum_tag=$2
39
+ reticulum_variant=$3
40
+ if [ -z " $reticulum_variant " ]; then
41
+ docker push " ghcr.io/code0-tech/reticulum/ci-builds/$image :$reticulum_tag "
42
+ else
43
+ docker push " ghcr.io/code0-tech/reticulum/ci-builds/$image :$reticulum_tag -$reticulum_variant "
44
+ fi
36
45
}
Original file line number Diff line number Diff line change
1
+ 8199374e88f72157b715ec717c8542e95db76b6b
You can’t perform that action at this time.
0 commit comments