+23
.tangled/workflows/loom-amd64.yml
+23
.tangled/workflows/loom-amd64.yml
···
1
+
when:
2
+
- event: ["push"]
3
+
branch: ["*"]
4
+
- event: ["pull_request"]
5
+
branch: ["main"]
6
+
7
+
engine: kubernetes
8
+
image: golang:1.24-bookworm
9
+
architecture: amd64
10
+
11
+
steps:
12
+
- name: Download and Generate
13
+
environment:
14
+
CGO_ENABLED: 1
15
+
command: |
16
+
go mod download
17
+
go generate ./...
18
+
19
+
- name: Run Tests
20
+
environment:
21
+
CGO_ENABLED: 1
22
+
command: |
23
+
go test -cover ./...
+23
.tangled/workflows/loom-arm64.yml
+23
.tangled/workflows/loom-arm64.yml
···
1
+
when:
2
+
- event: ["push"]
3
+
branch: ["*"]
4
+
- event: ["pull_request"]
5
+
branch: ["main"]
6
+
7
+
engine: kubernetes
8
+
image: golang:1.24-bookworm
9
+
architecture: arm64
10
+
11
+
steps:
12
+
- name: Download and Generate
13
+
environment:
14
+
CGO_ENABLED: 1
15
+
command: |
16
+
go mod download
17
+
go generate ./...
18
+
19
+
- name: Run Tests
20
+
environment:
21
+
CGO_ENABLED: 1
22
+
command: |
23
+
go test -cover ./...
+1
-1
.tangled/workflows/release-credential-helper.yml
+1
-1
.tangled/workflows/release-credential-helper.yml
+23
-19
.tangled/workflows/release.yml
+23
-19
.tangled/workflows/release.yml
···
2
2
# Triggers on version tags and builds cross-platform binaries using buildah
3
3
4
4
when:
5
-
- event: ["manual"]
5
+
- event: ["push"]
6
6
tag: ["v*"]
7
7
8
-
engine: "nixery"
9
-
10
-
dependencies:
11
-
nixpkgs:
12
-
- buildah
13
-
- gnugrep # Required for tag detection
8
+
engine: "buildah"
14
9
15
10
environment:
16
11
IMAGE_REGISTRY: atcr.io
···
19
14
steps:
20
15
- name: Get tag for current commit
21
16
command: |
17
+
#test
22
18
# Fetch tags (shallow clone doesn't include them by default)
23
19
git fetch --tags
24
20
···
37
33
echo "Building version: $TAG"
38
34
echo "$TAG" > .version
39
35
40
-
- name: Setup build environment
36
+
- name: Setup registry credentials
41
37
command: |
42
-
if ! grep -q "^root:" /etc/passwd 2>/dev/null; then
43
-
echo "root:x:0:0:root:/root:/bin/sh" >> /etc/passwd
44
-
fi
45
-
46
-
- name: Login to registry
47
-
command: |
48
-
echo "${APP_PASSWORD}" | buildah login \
49
-
--storage-driver vfs \
50
-
-u "${IMAGE_USER}" \
51
-
--password-stdin \
52
-
${IMAGE_REGISTRY}
38
+
mkdir -p ~/.docker
39
+
cat > ~/.docker/config.json <<EOF
40
+
{
41
+
"auths": {
42
+
"${IMAGE_REGISTRY}": {
43
+
"auth": "$(echo -n "${IMAGE_USER}:${APP_PASSWORD}" | base64)"
44
+
}
45
+
}
46
+
}
47
+
EOF
48
+
chmod 600 ~/.docker/config.json
53
49
54
50
- name: Build and push AppView image
55
51
command: |
···
64
60
65
61
buildah push \
66
62
--storage-driver vfs \
63
+
${IMAGE_REGISTRY}/${IMAGE_USER}/atcr-appview:${TAG}
64
+
65
+
buildah push \
66
+
--storage-driver vfs \
67
67
${IMAGE_REGISTRY}/${IMAGE_USER}/atcr-appview:latest
68
68
69
69
- name: Build and push Hold image
···
76
76
--tag ${IMAGE_REGISTRY}/${IMAGE_USER}/atcr-hold:latest \
77
77
--file ./Dockerfile.hold \
78
78
.
79
+
80
+
buildah push \
81
+
--storage-driver vfs \
82
+
${IMAGE_REGISTRY}/${IMAGE_USER}/atcr-hold:${TAG}
79
83
80
84
buildah push \
81
85
--storage-driver vfs \
+1
-10
pkg/appview/jetstream/processor.go
+1
-10
pkg/appview/jetstream/processor.go
···
107
107
// Detect manifest type
108
108
isManifestList := len(manifestRecord.Manifests) > 0
109
109
110
-
// Extract hold DID from manifest (with fallback for legacy manifests)
111
-
// New manifests use holdDid field (DID format)
112
-
// Old manifests use holdEndpoint field (URL format) - convert to DID
113
-
holdDID := manifestRecord.HoldDID
114
-
if holdDID == "" && manifestRecord.HoldEndpoint != "" {
115
-
// Legacy manifest - convert URL to DID
116
-
holdDID = atproto.ResolveHoldDIDFromURL(manifestRecord.HoldEndpoint)
117
-
}
118
-
119
110
// Prepare manifest for insertion (WITHOUT annotation fields)
120
111
manifest := &db.Manifest{
121
112
DID: did,
···
123
114
Digest: manifestRecord.Digest,
124
115
MediaType: manifestRecord.MediaType,
125
116
SchemaVersion: manifestRecord.SchemaVersion,
126
-
HoldEndpoint: holdDID,
117
+
HoldEndpoint: manifestRecord.HoldEndpoint,
127
118
CreatedAt: manifestRecord.CreatedAt,
128
119
// Annotations removed - stored separately in repository_annotations table
129
120
}