ci: fix action error with pulling OCCT image

This commit is contained in:
2025-11-13 15:16:50 +01:00
parent 4a1ff99e06
commit 191da020e4
6 changed files with 40 additions and 18 deletions
+6 -3
View File
@@ -1,4 +1,7 @@
FROM occt-builder:latest AS ffi-base
FROM occt-build:latest AS occt-local
FROM ghcr.io/erickahmed/arc-core/occt-build:latest AS occt-ghcr
FROM occt-local AS occt-selected
FROM occt-selected AS ffi-base
ENV DEBIAN_FRONTEND=noninteractive
@@ -26,8 +29,8 @@ RUN apt-get update && apt-get install -y \
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
COPY --from=occt-builder:latest /usr/local /usr/local
COPY --from=occt-builder:latest /app/build /app/occt-build
COPY --from=occt-selected /usr/local /usr/local
COPY --from=occt-selected /app/build /app/occt-build
COPY --from=ffi-base /app /app
WORKDIR /app
+6 -1
View File
@@ -1,3 +1,8 @@
# Builds Open CASCADE Technology (OCCT) v7.9.2
# Licensed under LGPL-2.1-only with OCCT Exception v1.0
# Source: https://github.com/Open-Cascade-SAS/OCCT/tree/c5f20409c52bf8f658314d205a0e5d6f0be0969c
# Base builder
FROM ubuntu:24.04 AS occt-base
ENV DEBIAN_FRONTEND=noninteractive
@@ -14,7 +19,7 @@ RUN apt-get update && apt-get install -y \
RUN git clone https://github.com/Open-Cascade-SAS/OCCT.git opencascade
WORKDIR /opencascade
RUN rm -rf /opencascade/build && mkdir build
RUN git checkout V7_9_2 -b OCCT-792
RUN git checkout c5f20409c52bf8f658314d205a0e5d6f0be0969c #Tag V7_9_2
RUN mkdir -p build
WORKDIR /opencascade/build
+18 -4
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
IMAGE_NAME="ffi-builder:latest"
IMAGE_NAME="ffi-build:latest"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_PATH="$(cd "$SCRIPT_DIR/../../" && pwd)"
DOCKERFILE_PATH="$SCRIPT_DIR/../ffi.Dockerfile"
@@ -11,13 +11,27 @@ if [[ "${1-}" == "--tests" ]]; then
RUN_UNIT_TESTS=true
fi
# Try to understand where tf are we
if [[ -n "${GITHUB_REPOSITORY-}" ]]; then
BASE_IMAGE="ghcr.io/$GITHUB_REPOSITORY/occt-build:latest"
echo "Using GHCR image: $BASE_IMAGE"
docker pull "$BASE_IMAGE" || true
else
BASE_IMAGE="occt-build:latest"
echo "Using local image: $BASE_IMAGE"
fi
echo "Building base image..."
docker build --target ffi-base -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" "$PROJECT_PATH"
docker build --target ffi-base -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" \
--build-arg BASE_IMAGE="$BASE_IMAGE" \
"$PROJECT_PATH"
if [ "$RUN_UNIT_TESTS" = true ]; then
echo "Building unit-testing stage..."
docker build --target ffi-unit-testing -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" "$PROJECT_PATH"
docker build --target ffi-unit-testing -f "$DOCKERFILE_PATH" -t "$IMAGE_NAME" \
--build-arg BASE_IMAGE="$BASE_IMAGE" \
"$PROJECT_PATH"
echo "Running tests..."
docker run --rm -it "$IMAGE_NAME" cargo test
docker run --rm "$IMAGE_NAME" cargo test --verbose
fi
+1 -1
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
IMAGE_NAME="occt-builder:latest"
IMAGE_NAME="occt-build:latest"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_PATH="$(cd "$SCRIPT_DIR/../../" && pwd)"
DOCKERFILE_PATH="$SCRIPT_DIR/../occt.Dockerfile"