+1
.gitignore
+1
.gitignore
+11
-8
.goreleaser.yaml
+11
-8
.goreleaser.yaml
···
11
11
- CGO_ENABLED=0
12
12
goos:
13
13
- linux
14
-
- windows
15
-
- darwin
16
14
goarch:
17
15
- amd64
18
-
- arm64
19
16
20
17
nfpms:
21
18
- id: default
···
55
52
signs:
56
53
- artifacts: checksum
57
54
58
-
release:
59
-
footer: >-
60
-
61
-
---
55
+
publishers:
56
+
- name: atproto-pds
57
+
cmd: ./scripts/publish-artifact.sh
58
+
env:
59
+
- APP_PASSWORD={{ .Env.APP_PASSWORD }}
60
+
- REPO_URL={{ .Env.REPO_URL }}
61
+
- TAG={{ .Tag }}
62
+
- ARTIFACT_PATH={{ abs .ArtifactPath }}
63
+
- ARTIFACT_NAME={{ .ArtifactName }}
62
64
63
-
Released by [GoReleaser](https://github.com/goreleaser/goreleaser).
65
+
release:
66
+
disable: true
+22
.tangled/workflows/build-and-test.yml
+22
.tangled/workflows/build-and-test.yml
···
1
+
when:
2
+
- event: ["push", "pull_request"]
3
+
branch: ["main", "ci"]
4
+
5
+
engine: nixery
6
+
7
+
dependencies:
8
+
nixpkgs:
9
+
- go
10
+
- gcc
11
+
- gnumake
12
+
13
+
environment:
14
+
CGO_ENABLED: 1
15
+
16
+
steps:
17
+
- name: build
18
+
command: |
19
+
make build
20
+
21
+
- name: test
22
+
command: make test
+18
.tangled/workflows/lint.yml
+18
.tangled/workflows/lint.yml
-4
Makefile
-4
Makefile
+18
scripts/publish-artifact.sh
+18
scripts/publish-artifact.sh
···
1
+
#!/usr/bin/env bash
2
+
set -e
3
+
4
+
TAG_HASH=$(git rev-parse "$TAG"^{tag}) &&
5
+
TAG_BYTES=$(echo -n "$TAG_HASH" | xxd -r -p | base64 | tr -d '=') &&
6
+
BLOB_OUTPUT=$(./goat blob upload "$ARTIFACT_PATH") &&
7
+
echo "$BLOB_OUTPUT" &&
8
+
ARTIFACT_JSON=$(echo "$BLOB_OUTPUT" | jq --arg tag "$TAG_BYTES" --arg name "$ARTIFACT_NAME" --arg repo "$REPO_URL" --arg created "$(date -Iseconds)" '{
9
+
"tag": {"$bytes": $tag},
10
+
"name": $name,
11
+
"repo": $repo,
12
+
"$type": "sh.tangled.repo.artifact",
13
+
"artifact": .,
14
+
"createdAt": $created
15
+
}') &&
16
+
echo "$ARTIFACT_JSON" > temp_artifact.json &&
17
+
cat temp_artifact.json &&
18
+
./goat record create temp_artifact.json -n
+17
temp_artifact.json
+17
temp_artifact.json
···
1
+
{
2
+
"tag": {
3
+
"$bytes": "eKFfwTwSDwDtrRqKKNC4lr7K2pA"
4
+
},
5
+
"name": "goat_0.1.2_linux_amd64.deb",
6
+
"repo": "at://did:plc:qfpnj4og54vl56wngdriaxug/sh.tangled.repo/3lzvh6y2aub22",
7
+
"$type": "sh.tangled.repo.artifact",
8
+
"artifact": {
9
+
"$type": "blob",
10
+
"ref": {
11
+
"$link": "bafkreihnzn2ju5gr24qj24wnsrwe35kk7wh6zer7gpafv4tv3dmy3qmvba"
12
+
},
13
+
"mimeType": "application/x-deb",
14
+
"size": 7144292
15
+
},
16
+
"createdAt": "2025-10-02T15:33:29+01:00"
17
+
}