File tree Expand file tree Collapse file tree 5 files changed +66
-6
lines changed Expand file tree Collapse file tree 5 files changed +66
-6
lines changed Original file line number Diff line number Diff line change @@ -22,25 +22,52 @@ 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
+ - image_tag=$(get_image_tag $CI_PIPELINE_ID $VARIANT)
42
+ - build_image $image $image_tag "--build-arg VARIANT=$VARIANT"
43
+ - push_image $image $image_tag
44
+
45
+ container:mise :
46
+ extends :
47
+ - .single-image-build-base
33
48
34
49
container:rust :
35
50
extends :
36
- - .image-build-base
51
+ - .single- image-build-base
37
52
needs :
38
53
- container:mise
39
54
40
55
container:aquila :
41
56
extends :
42
- - .image-build-base
57
+ - .single-image-build-base
58
+ needs :
59
+ - container:rust
60
+ variables :
61
+ NEED_PROJECT_DOWNLOAD : ' true'
62
+
63
+ container:draco :
64
+ extends :
65
+ - .variant-image-build-base
43
66
needs :
44
67
- container:rust
45
68
variables :
46
69
NEED_PROJECT_DOWNLOAD : ' true'
70
+ parallel :
71
+ matrix :
72
+ - VARIANT :
73
+ - 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,22 @@ 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() {
37
+ image=$1
38
+ reticulum_tag=$2
35
39
docker push " ghcr.io/code0-tech/reticulum/ci-builds/$image :$reticulum_tag "
36
40
}
41
+
42
+ function get_image_tag() {
43
+ reticulum_tag=$1
44
+ reticulum_variant=$2
45
+ if [ -z " $reticulum_variant " ]; then
46
+ echo $reticulum_tag
47
+ else
48
+ echo $reticulum_tag -$reticulum_variant
49
+ fi
50
+ }
Original file line number Diff line number Diff line change
1
+ 8199374e88f72157b715ec717c8542e95db76b6b
You can’t perform that action at this time.
0 commit comments