6 Commits

Author SHA1 Message Date
Roman Meshko 509c8be4c0 Fixed pipeline
ci/woodpecker/manual/e2e-convert-jetson Pipeline was successful
2026-06-07 13:47:18 +03:00
Roman Meshko 05d903bac5 Fixed pipeline
ci/woodpecker/manual/build-push-jetson-trt104 Pipeline was successful
2026-06-07 12:27:36 +03:00
Roman Meshko b8ebf0f15d Fixed pipeline
ci/woodpecker/manual/build-push-jetson-trt104 Pipeline failed
2026-06-07 12:13:19 +03:00
Roman Meshko 81d241785c Fixed pipeline
ci/woodpecker/manual/build-push-jetson-trt104 Pipeline failed
2026-06-07 11:56:10 +03:00
Roman Meshko 0ebfd8e9a4 Changed to have an attempt of build TRT10.3
ci/woodpecker/manual/build-push-jetson-trt104 Pipeline failed
2026-06-07 11:38:48 +03:00
Roman Meshko e1e1cf02eb Changed to have an attempt of build TRT10.3
ci/woodpecker/manual/build-push-jetson-trt104 Pipeline failed
2026-06-07 11:22:53 +03:00
7 changed files with 99 additions and 6 deletions
+3 -1
View File
@@ -15,4 +15,6 @@ __pycache__
.pytest_cache
.git
*.md
scripts
scripts/*
!scripts/jetson/
!scripts/jetson/generate_int8_cache.py
+13 -3
View File
@@ -36,15 +36,25 @@ steps:
from_secret: registry_token
commands:
- echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_HOST" -u "$REGISTRY_USER" --password-stdin
- export TAG=${CI_COMMIT_BRANCH}-${TAG_SUFFIX}
- export BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
- |
RAW_BRANCH="$CI_COMMIT_BRANCH"
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_BRANCH"; fi
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$CI_COMMIT_REF"; fi
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_REF"; fi
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="manual"; fi
SAFE_BRANCH=$(printf '%s' "$RAW_BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')
if [ -z "$SAFE_BRANCH" ]; then SAFE_BRANCH="manual"; fi
TAG="$SAFE_BRANCH-$TAG_SUFFIX"
BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
echo "RAW_BRANCH=$RAW_BRANCH"
echo "SAFE_BRANCH=$SAFE_BRANCH"
echo "TAG=$TAG"
docker build -f ${DOCKERFILE} \
--build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA \
--label org.opencontainers.image.revision=$CI_COMMIT_SHA \
--label org.opencontainers.image.created=$BUILD_DATE \
--label org.opencontainers.image.source=$CI_REPO_URL \
-t $REGISTRY_HOST/azaion/detections:$TAG .
- docker push $REGISTRY_HOST/azaion/detections:$TAG
docker push $REGISTRY_HOST/azaion/detections:$TAG
volumes:
- /var/run/docker.sock:/var/run/docker.sock
+41
View File
@@ -0,0 +1,41 @@
when:
- event: [manual]
evaluate: 'BUILD_JETSON_TRT104 == "1"'
labels:
platform: arm64
steps:
- name: build-push-jetson-trt104
image: docker
environment:
REGISTRY_HOST:
from_secret: registry_host
REGISTRY_USER:
from_secret: registry_user
REGISTRY_TOKEN:
from_secret: registry_token
commands:
- echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_HOST" -u "$REGISTRY_USER" --password-stdin
- |
RAW_BRANCH="$CI_COMMIT_BRANCH"
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_BRANCH"; fi
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$CI_COMMIT_REF"; fi
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_REF"; fi
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="manual"; fi
SAFE_BRANCH=$(printf '%s' "$RAW_BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')
if [ -z "$SAFE_BRANCH" ]; then SAFE_BRANCH="manual"; fi
TAG="$SAFE_BRANCH-arm-trt104"
BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
echo "RAW_BRANCH=$RAW_BRANCH"
echo "SAFE_BRANCH=$SAFE_BRANCH"
echo "TAG=$TAG"
docker build -f Dockerfile.jetson.trt104 \
--build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA \
--label org.opencontainers.image.revision=$CI_COMMIT_SHA \
--label org.opencontainers.image.created=$BUILD_DATE \
--label org.opencontainers.image.source=$CI_REPO_URL \
-t $REGISTRY_HOST/azaion/detections:$TAG .
docker push $REGISTRY_HOST/azaion/detections:$TAG
volumes:
- /var/run/docker.sock:/var/run/docker.sock
+21
View File
@@ -0,0 +1,21 @@
FROM nvcr.io/nvidia/tensorrt:24.09-py3-igpu
ARG CI_COMMIT_SHA=unknown
ENV AZAION_REVISION=$CI_COMMIT_SHA
RUN apt-get update && apt-get install -y \
python3 python3-pip python3-dev gcc \
libgl1 libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt requirements-jetson.txt ./
RUN pip3 install --no-cache-dir -r requirements-jetson.txt
COPY . .
RUN BUILD_TENSORRT_EXTENSIONS=1 python3 setup.py build_ext --inplace
ENV PYTHONPATH=/app/src
RUN adduser --disabled-password --no-create-home --gecos "" appuser \
&& mkdir -p /app/Logs \
&& chown -R appuser /app
USER appuser
EXPOSE 8080
CMD ["python3", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
+15
View File
@@ -139,6 +139,21 @@ Already exists: `e2e/docker-compose.test.yml`. No changes needed — supports bo
docker compose -f docker-compose.jetson.yml up
```
### detections-jetson-trt104 (Dockerfile.jetson.trt104)
Experimental INT8 calibration image for Jetson Orin devices. It uses NVIDIA's TensorRT iGPU container:
| Aspect | Specification |
|--------|--------------|
| Base image | `nvcr.io/nvidia/tensorrt:24.09-py3-igpu` |
| TensorRT | TensorRT 10.4.0.26 |
| Purpose | Work around TensorRT 10.3 INT8 calibration failures such as `checkSanity.cpp::checkLinks` / `Graph::regions` internal errors |
Build/tag example:
```bash
docker build -f Dockerfile.jetson.trt104 -t <registry>/azaion/detections:dev-arm-trt104 .
```
## Image Tagging Strategy
| Context | Tag Format | Example |
+3 -1
View File
@@ -5,7 +5,9 @@ COMPOSE="${COMPOSE:-docker compose -f docker-compose.test.yml --profile jetson}"
REGISTRY_HOST="${REGISTRY_HOST:?REGISTRY_HOST is required}"
ENGINE_REPOSITORY="${JETSON_ENGINE_REPOSITORY:-$REGISTRY_HOST/azaion/detections-jetson-engine}"
BRANCH="${CI_COMMIT_BRANCH:-local}"
ENGINE_TAG="${JETSON_ENGINE_TAG:-$(printf '%s' "$BRANCH" | tr -c 'A-Za-z0-9_.-' '-')}"
default_tag="$(printf '%s' "$BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')"
default_tag="${default_tag:-local}"
ENGINE_TAG="${JETSON_ENGINE_TAG:-$default_tag}"
OUT_DIR="${JETSON_ENGINE_OUT_DIR:-results/jetson-engine}"
mkdir -p "$OUT_DIR/models"
+3 -1
View File
@@ -8,7 +8,9 @@ fi
ENGINE_REPOSITORY="${JETSON_ENGINE_REPOSITORY:-$REGISTRY_HOST/azaion/detections-jetson-engine}"
BRANCH="${CI_COMMIT_BRANCH:-local}"
ENGINE_TAG="${JETSON_ENGINE_TAG:-$(printf '%s' "$BRANCH" | tr -c 'A-Za-z0-9_.-' '-')}"
default_tag="$(printf '%s' "$BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')"
default_tag="${default_tag:-local}"
ENGINE_TAG="${JETSON_ENGINE_TAG:-$default_tag}"
TARGET_DIR="${JETSON_ENGINE_TARGET_DIR:-fixtures/models}"
image="$ENGINE_REPOSITORY:$ENGINE_TAG"