test buildah spindle engine #1

closed
opened by evan.jarrett.net targeting main from loom
Changed files
+71 -30
.tangled
pkg
appview
jetstream
+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
··· 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
··· 7 7 # Triggers on version tags (v*) pushed to the repository. 8 8 9 9 when: 10 - - event: ["push"] 10 + - event: ["manual"] 11 11 tag: ["v*"] 12 12 13 13 engine: "nixery"
+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
··· 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 }