Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

# generated dockerfiles
container/sagittarius/Dockerfile
container/sculptor/Dockerfile

# downloaded projects
projects
20 changes: 20 additions & 0 deletions .gitlab/ci/container-boot.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,3 +106,23 @@ container:boot:draco:
- docker compose logs draco -f &
- support/grpc_check_health --host docker:8083 --service liveness --retries 20
- support/grpc_check_health --host docker:8083 --service readiness --retries 20

container:boot:sculptor:
extends:
- .container:boot
needs:
- manifest:sculptor
parallel:
matrix:
- SCULPTOR_VARIANT:
- ce
- ee
- cloud
PLATFORM:
- amd64
- arm64
script:
- docker compose up sculptor -d
- docker ps --all
- docker compose logs sculptor -f &
- docker compose run curl-sculptor
47 changes: 47 additions & 0 deletions .gitlab/ci/container-build.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -197,3 +197,50 @@ manifest:sagittarius:
PLATFORM:
- amd64
- arm64

container:node:
extends:
- .single-image-build-base
needs:
- manifest:mise

manifest:node:
extends:
- .manifest-create-base
needs:
- container:node

container:sculptor:
extends:
- .variant-image-build-base
needs:
- manifest:node
variables:
NEED_PROJECT_DOWNLOAD: 'true'
parallel:
matrix:
- VARIANT:
- ce
- ee
- cloud
PLATFORM:
- amd64
- arm64

manifest:sculptor:
extends:
- .manifest-create-base
parallel:
matrix:
- VARIANT:
- ce
- ee
- cloud
needs:
- job: container:sculptor
parallel:
matrix:
- VARIANT: [ '$[[ matrix.VARIANT ]]' ]
PLATFORM:
- amd64
- arm64
11 changes: 11 additions & 0 deletions container/node/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ARG RETICULUM_IMAGE_TAG=local
ARG NODE_VERSION=24.8.0

FROM node:$NODE_VERSION-alpine AS node_image
FROM ghcr.io/code0-tech/reticulum/ci-builds/mise:$RETICULUM_IMAGE_TAG

COPY --from=node_image /usr/lib /usr/lib
COPY --from=node_image /usr/local/lib /usr/local/lib
COPY --from=node_image /usr/local/include /usr/local/include
COPY --from=node_image /usr/local/bin /usr/local/bin
ENV PATH=/usr/local/bin:$PATH
31 changes: 31 additions & 0 deletions container/sculptor/Dockerfile.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
ARG RETICULUM_IMAGE_TAG=local

FROM ghcr.io/code0-tech/reticulum/ci-builds/node:$RETICULUM_IMAGE_TAG

WORKDIR /sculptor

COPY projects/sculptor/edition.mjs \
projects/sculptor/next.config.ts \
projects/sculptor/package-lock.json \
projects/sculptor/package.json \
projects/sculptor/tsconfig.json \
.

RUN npm ci

COPY projects/sculptor/src/app src/app
COPY projects/sculptor/src/packages/ce src/packages/ce

<% if ee? || cloud? %>
COPY projects/sculptor/src/packages/ee src/packages/ee
<% end %>

<% if cloud? %>
COPY projects/sculptor/src/packages/cloud src/packages/cloud
<% end %>

ENV EDITION=<%= variant %>

RUN npm run build

ENTRYPOINT ["npm", "run", "start"]
19 changes: 19 additions & 0 deletions container/sculptor/renderDockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env ruby

require 'erb'
require 'fileutils'

def ee?
ENV['VARIANT'].eql?('ee')
end

def cloud?
ENV['VARIANT'].eql?('cloud')
end

def variant
ENV['VARIANT']
end

template = ERB.new(File.read("#{__dir__}/Dockerfile.erb"), trim_mode: '-')
File.write("#{__dir__}/Dockerfile", template.result)
20 changes: 20 additions & 0 deletions support/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,5 +87,25 @@ services:
ports:
- "8083:8083"

sculptor:
image: ghcr.io/code0-tech/reticulum/ci-builds/sculptor:${CI_PIPELINE_ID}-${SCULPTOR_VARIANT}
networks:
- boot

curl-sculptor:
image: curlimages/curl:8.16.0
networks:
- boot
command:
- curl
- --fail
- -sv
- --retry
- "20"
- --retry-delay
- "3"
- --retry-connrefused
- http://sculptor:3000/

networks:
boot:
1 change: 1 addition & 0 deletions versions/sculptor
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5cd6432f166b416449b5eed50005e4fe703b6913