+18
-2
.tangled/workflows/release.yml
+18
-2
.tangled/workflows/release.yml
···
9
9
10
10
environment:
11
11
IMAGE_REGISTRY: atcr.io
12
-
IMAGE_NAME: ${IMAGE_REGISTRY}/${TANGLED_REPO_DID}/${TANGLED_REPO_NAME}
13
12
14
13
steps:
14
+
- name: Resolve DID to handle
15
+
command: HANDLE=$(curl -sf "https://plc.directory/${TANGLED_REPO_DID}" | grep -o 'at://[^"]*' | head -1 | sed 's|at://||')
16
+
17
+
- name: set IMAGE_NAME
18
+
command: IMAGE_NAME="${IMAGE_REGISTRY}/${HANDLE}/${TANGLED_REPO_NAME}"
19
+
15
20
- name: Login to registry
16
21
command: |
17
22
echo "${APP_PASSWORD}" | buildah login \
18
-
-u "${TANGLED_REPO_DID}" \
23
+
-u "${HANDLE}" \
19
24
--password-stdin \
20
25
${IMAGE_REGISTRY}
21
26
22
27
- name: Build amd64 image
23
28
command: |
29
+
echo "${IMAGE_NAME"
24
30
buildah bud \
25
31
--arch amd64 \
26
32
--build-arg TARGETARCH=amd64 \
33
+
--build-arg VERSION=${TANGLED_REF_NAME} \
34
+
--build-arg CREATED=$(date -u +%Y-%m-%dT%H:%M:%SZ) \
35
+
--build-arg REVISION=${TANGLED_COMMIT_SHA} \
36
+
--build-arg TANGLED_REPO_DID=${TANGLED_REPO_DID} \
37
+
--build-arg TANGLED_REPO_NAME=${TANGLED_REPO_NAME} \
27
38
--tag ${IMAGE_NAME}:${TANGLED_REF_NAME}-amd64 \
28
39
--file ./Dockerfile \
29
40
.
···
33
44
buildah bud \
34
45
--arch arm64 \
35
46
--build-arg TARGETARCH=arm64 \
47
+
--build-arg VERSION=${TANGLED_REF_NAME} \
48
+
--build-arg CREATED=$(date -u +%Y-%m-%dT%H:%M:%SZ) \
49
+
--build-arg REVISION=${TANGLED_COMMIT_SHA} \
50
+
--build-arg TANGLED_REPO_DID=${TANGLED_REPO_DID} \
51
+
--build-arg TANGLED_REPO_NAME=${TANGLED_REPO_NAME} \
36
52
--tag ${IMAGE_NAME}:${TANGLED_REF_NAME}-arm64 \
37
53
--file ./Dockerfile \
38
54
.
+14
-2
Dockerfile
+14
-2
Dockerfile
···
11
11
12
12
FROM alpine:3.20
13
13
14
-
# Only need ca-certificates for HTTPS cloning
14
+
ARG VERSION=dev
15
+
ARG CREATED
16
+
ARG REVISION
17
+
ARG TANGLED_REPO_DID
18
+
ARG TANGLED_REPO_NAME
19
+
20
+
LABEL org.opencontainers.image.title="git-summarizer" \
21
+
org.opencontainers.image.description="AI-powered git change summarizer using agentic tool-calling with self-hosted LLMs" \
22
+
org.opencontainers.image.version="${VERSION}" \
23
+
org.opencontainers.image.created="${CREATED}" \
24
+
org.opencontainers.image.revision="${REVISION}" \
25
+
org.opencontainers.image.licenses="MIT" \
26
+
org.opencontainers.image.source="https://tangled.sh/${TANGLED_REPO_DID}/${TANGLED_REPO_NAME}"
27
+
15
28
RUN apk add --no-cache ca-certificates
16
29
17
30
COPY --from=builder /app/git-summarizer /usr/local/bin/
18
31
19
-
# For SSH cloning (optional - mount your keys)
20
32
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh
21
33
22
34
EXPOSE 8000