Skip to content

Commit bb2aab9

Browse files
committed
Setup draco build
1 parent d747cf8 commit bb2aab9

File tree

5 files changed

+61
-7
lines changed

5 files changed

+61
-7
lines changed

.gitlab-ci.yml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,51 @@ stages:
2222
- apk add bash curl tar
2323
- source scripts/helpers.sh
2424
- docker_login
25-
- 'image=$(echo $CI_JOB_NAME | cut -d : -f 2)'
25+
- 'image=$(echo "$CI_JOB_NAME" | cut -d : -f 2)'
2626
- '[ -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]
2733
- build_image $image $CI_PIPELINE_ID
2834
- push_image $image $CI_PIPELINE_ID
2935

30-
container:mise:
36+
.variant-image-build-base:
3137
extends:
3238
- .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
3347

3448
container:rust:
3549
extends:
36-
- .image-build-base
50+
- .single-image-build-base
3751
needs:
3852
- container:mise
3953

4054
container:aquila:
4155
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
4365
needs:
4466
- container:rust
4567
variables:
4668
NEED_PROJECT_DOWNLOAD: 'true'
69+
parallel:
70+
matrix:
71+
- VARIANT:
72+
- rest

container/draco/Dockerfile

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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"]

scripts/download_projects

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ set -e
44

55
source scripts/helpers.sh
66

7-
rm -rf projects
8-
mkdir projects
7+
rm -rf projects/*
8+
mkdir -p projects
99

1010
download_project aquila
11+
download_project draco
1112
download_project sagittarius

scripts/helpers.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ function docker_login() {
1616
function build_image() {
1717
image=$1
1818
reticulum_tag=$2
19+
build_args=$3
1920

2021
echo "Building image for $image"
2122

@@ -28,9 +29,17 @@ function build_image() {
2829
-t "ghcr.io/code0-tech/reticulum/ci-builds/$image:$reticulum_tag" \
2930
-f "container/$image/Dockerfile" \
3031
--build-arg RETICULUM_IMAGE_TAG=$reticulum_tag \
32+
$build_args \
3133
.
3234
}
3335

3436
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
3645
}

versions/draco

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8199374e88f72157b715ec717c8542e95db76b6b

0 commit comments

Comments
 (0)