Skip to content

Commit f526c36

Browse files
authored
v0.5.28: tool fixes, sqs, spotify, nextjs update, component playground
2 parents e24f31c + 9c8d845 commit f526c36

File tree

412 files changed

+32252
-14754
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

412 files changed

+32252
-14754
lines changed

.dockerignore

Lines changed: 61 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,67 @@
1+
# Git
2+
.git
3+
.gitignore
4+
5+
# Documentation
16
LICENSE
27
NOTICE
8+
README.md
9+
*.md
10+
docs/
11+
12+
# IDE and editor
13+
.vscode
14+
.idea
15+
*.swp
16+
*.swo
17+
18+
# Environment and config
19+
.env*
20+
!.env.example
321
.prettierrc
422
.prettierignore
5-
README.md
6-
.gitignore
7-
.husky
23+
.eslintrc*
24+
.eslintignore
25+
26+
# CI/CD and DevOps
827
.github
928
.devcontainer
10-
.env.example
11-
node_modules
29+
.husky
30+
docker-compose*.yml
31+
Dockerfile*
32+
33+
# Build artifacts and caches
34+
.next
35+
.turbo
36+
.cache
37+
dist
38+
build
39+
out
40+
coverage
41+
*.log
42+
43+
# Dependencies (will be installed fresh in container)
44+
node_modules
45+
.bun
46+
47+
# Test files
48+
**/*.test.ts
49+
**/*.test.tsx
50+
**/*.spec.ts
51+
**/*.spec.tsx
52+
__tests__
53+
__mocks__
54+
jest.config.*
55+
vitest.config.*
56+
57+
# TypeScript build info
58+
*.tsbuildinfo
59+
60+
# OS files
61+
.DS_Store
62+
Thumbs.db
63+
64+
# Temporary files
65+
tmp
66+
temp
67+
*.tmp

.github/workflows/ci.yml

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,35 @@ jobs:
1616
uses: ./.github/workflows/test-build.yml
1717
secrets: inherit
1818

19+
# Detect if this is a version release commit (e.g., "v0.5.24: ...")
20+
detect-version:
21+
name: Detect Version
22+
runs-on: blacksmith-4vcpu-ubuntu-2404
23+
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
24+
outputs:
25+
version: ${{ steps.extract.outputs.version }}
26+
is_release: ${{ steps.extract.outputs.is_release }}
27+
steps:
28+
- name: Extract version from commit message
29+
id: extract
30+
run: |
31+
COMMIT_MSG="${{ github.event.head_commit.message }}"
32+
# Only tag versions on main branch
33+
if [ "${{ github.ref }}" = "refs/heads/main" ] && [[ "$COMMIT_MSG" =~ ^(v[0-9]+\.[0-9]+\.[0-9]+): ]]; then
34+
VERSION="${BASH_REMATCH[1]}"
35+
echo "version=${VERSION}" >> $GITHUB_OUTPUT
36+
echo "is_release=true" >> $GITHUB_OUTPUT
37+
echo "✅ Detected release commit: ${VERSION}"
38+
else
39+
echo "version=" >> $GITHUB_OUTPUT
40+
echo "is_release=false" >> $GITHUB_OUTPUT
41+
echo "ℹ️ Not a release commit"
42+
fi
43+
1944
# Build AMD64 images and push to ECR immediately (+ GHCR for main)
2045
build-amd64:
2146
name: Build AMD64
22-
needs: test-build
47+
needs: [test-build, detect-version]
2348
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/staging')
2449
runs-on: blacksmith-8vcpu-ubuntu-2404
2550
permissions:
@@ -93,6 +118,14 @@ jobs:
93118
GHCR_AMD64="${GHCR_IMAGE}:latest-amd64"
94119
GHCR_SHA="${GHCR_IMAGE}:${{ github.sha }}-amd64"
95120
TAGS="${TAGS},$GHCR_AMD64,$GHCR_SHA"
121+
122+
# Add version tag if this is a release commit
123+
if [ "${{ needs.detect-version.outputs.is_release }}" = "true" ]; then
124+
VERSION="${{ needs.detect-version.outputs.version }}"
125+
GHCR_VERSION="${GHCR_IMAGE}:${VERSION}-amd64"
126+
TAGS="${TAGS},$GHCR_VERSION"
127+
echo "📦 Adding version tag: ${VERSION}-amd64"
128+
fi
96129
fi
97130
98131
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
@@ -111,7 +144,7 @@ jobs:
111144
# Build ARM64 images for GHCR (main branch only, runs in parallel)
112145
build-ghcr-arm64:
113146
name: Build ARM64 (GHCR Only)
114-
needs: test-build
147+
needs: [test-build, detect-version]
115148
runs-on: blacksmith-8vcpu-ubuntu-2404-arm
116149
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
117150
permissions:
@@ -146,7 +179,16 @@ jobs:
146179
id: meta
147180
run: |
148181
IMAGE="${{ matrix.image }}"
149-
echo "tags=${IMAGE}:latest-arm64,${IMAGE}:${{ github.sha }}-arm64" >> $GITHUB_OUTPUT
182+
TAGS="${IMAGE}:latest-arm64,${IMAGE}:${{ github.sha }}-arm64"
183+
184+
# Add version tag if this is a release commit
185+
if [ "${{ needs.detect-version.outputs.is_release }}" = "true" ]; then
186+
VERSION="${{ needs.detect-version.outputs.version }}"
187+
TAGS="${TAGS},${IMAGE}:${VERSION}-arm64"
188+
echo "📦 Adding version tag: ${VERSION}-arm64"
189+
fi
190+
191+
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
150192
151193
- name: Build and push ARM64 to GHCR
152194
uses: useblacksmith/build-push-action@v2
@@ -162,8 +204,8 @@ jobs:
162204
# Create GHCR multi-arch manifests (only for main, after both builds)
163205
create-ghcr-manifests:
164206
name: Create GHCR Manifests
165-
runs-on: blacksmith-8vcpu-ubuntu-2404
166-
needs: [build-amd64, build-ghcr-arm64]
207+
runs-on: blacksmith-2vcpu-ubuntu-2404
208+
needs: [build-amd64, build-ghcr-arm64, detect-version]
167209
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
168210
permissions:
169211
packages: write
@@ -198,6 +240,16 @@ jobs:
198240
"${IMAGE_BASE}:${{ github.sha }}-arm64"
199241
docker manifest push "${IMAGE_BASE}:${{ github.sha }}"
200242
243+
# Create version manifest if this is a release commit
244+
if [ "${{ needs.detect-version.outputs.is_release }}" = "true" ]; then
245+
VERSION="${{ needs.detect-version.outputs.version }}"
246+
echo "📦 Creating version manifest: ${VERSION}"
247+
docker manifest create "${IMAGE_BASE}:${VERSION}" \
248+
"${IMAGE_BASE}:${VERSION}-amd64" \
249+
"${IMAGE_BASE}:${VERSION}-arm64"
250+
docker manifest push "${IMAGE_BASE}:${VERSION}"
251+
fi
252+
201253
# Check if docs changed
202254
check-docs-changes:
203255
name: Check Docs Changes

apps/docs/components/icons.tsx

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3667,31 +3667,6 @@ export function ZoomIcon(props: SVGProps<SVGSVGElement>) {
36673667
)
36683668
}
36693669

3670-
export function PylonIcon(props: SVGProps<SVGSVGElement>) {
3671-
return (
3672-
<svg
3673-
{...props}
3674-
xmlns='http://www.w3.org/2000/svg'
3675-
width='98'
3676-
height='29'
3677-
viewBox='0 0 26 26'
3678-
fill='none'
3679-
>
3680-
<g clipPath='url(#clip0_6559_17753)'>
3681-
<path
3682-
d='M21.3437 4.1562C18.9827 1.79763 15.8424 0.5 12.5015 0.5C9.16056 0.5 6.02027 1.79763 3.66091 4.15455C1.29989 6.51147 0 9.64465 0 12.9798C0 16.3149 1.29989 19.448 3.66091 21.805C6.02193 24.1619 9.16222 25.4612 12.5031 25.4612C15.844 25.4612 18.9843 24.1635 21.3454 21.8066C23.7064 19.4497 25.0063 16.3165 25.0063 12.9814C25.0063 9.6463 23.7064 6.51312 21.3454 4.1562H21.3437ZM22.3949 12.9814C22.3949 17.927 18.7074 22.1227 13.8063 22.7699V3.1896C18.7074 3.83676 22.3949 8.0342 22.3949 12.9798V12.9814ZM4.8265 6.75643C6.43312 4.7835 8.68803 3.52063 11.1983 3.1896V6.75643H4.8265ZM11.1983 9.36162V11.6904H2.69428C2.79874 10.8926 3.00267 10.1097 3.2978 9.36162H11.1983ZM11.1983 14.2939V16.6227H3.30775C3.00931 15.8746 2.80371 15.0917 2.6976 14.2939H11.1983ZM11.1983 19.2279V22.7699C8.70129 22.4405 6.45302 21.1859 4.84805 19.2279H11.1983Z'
3683-
fill='#5B0EFF'
3684-
/>
3685-
</g>
3686-
<defs>
3687-
<clipPath id='clip0_6559_17753'>
3688-
<rect width='97.4717' height='28' fill='white' transform='translate(0 0.5)' />
3689-
</clipPath>
3690-
</defs>
3691-
</svg>
3692-
)
3693-
}
3694-
36953670
export function SendgridIcon(props: SVGProps<SVGSVGElement>) {
36963671
return (
36973672
<svg
@@ -3902,6 +3877,35 @@ export function DynamoDBIcon(props: SVGProps<SVGSVGElement>) {
39023877
)
39033878
}
39043879

3880+
export function SQSIcon(props: SVGProps<SVGSVGElement>) {
3881+
return (
3882+
<svg
3883+
{...props}
3884+
viewBox='0 0 80 80'
3885+
version='1.1'
3886+
xmlns='http://www.w3.org/2000/svg'
3887+
xmlnsXlink='http://www.w3.org/1999/xlink'
3888+
>
3889+
<g
3890+
id='Icon-Architecture/64/Arch_Amazon-Simple-Queue-Service_64'
3891+
stroke='none'
3892+
strokeWidth='1'
3893+
fill='none'
3894+
fillRule='evenodd'
3895+
transform='translate(40, 40) scale(1.5) translate(-40, -40)'
3896+
>
3897+
<g id='Icon-Architecture-BG/64/Application-Integration' fill='currentColor'>
3898+
<path
3899+
d='M28.7169966,43.6876756 L31.7189265,40.721826 C31.9070474,40.5359011 32.0131156,40.2833614 32.0141233,40.019885 C32.0151169,39.7564086 31.9100493,39.5028747 31.722929,39.3159556 L28.7209992,36.3163014 L27.3020871,37.7181948 L28.5899149,39.0057494 L24.0089701,39.0057494 L24.0089701,40.9942506 L28.6059252,40.9942506 L27.3060896,42.2778282 L28.7169966,43.6876756 Z M51.627725,43.7781524 L55.630298,40.793412 C55.8804589,40.6054986 56.0295547,40.3112004 56.0295547,39.9990057 C56.0295547,39.6858168 55.8804589,39.3905244 55.6292974,39.202611 L51.6267243,36.2218476 L50.4259524,37.8126486 L52.0269816,39.0057494 L48.0244085,39.0057494 L48.0244085,40.9942506 L52.025981,40.9942506 L50.4249518,42.1873514 L51.627725,43.7781524 Z M35.2081695,40 C35.2081695,42.1107941 34.8429347,44.1012839 34.160496,45.8332685 C35.9606533,45.14127 37.9909585,44.7952708 40.0192624,44.7952708 C42.0475663,44.7952708 44.0778715,45.14127 45.8770281,45.8332685 C45.19559,44.1012839 44.8303552,42.1107941 44.8303552,40 C44.8303552,37.8892059 45.19559,35.8997104 45.8770281,34.1667315 C42.2777142,35.5497341 37.7608105,35.5497341 34.160496,34.1667315 C34.8429347,35.8997104 35.2081695,37.8892059 35.2081695,40 L35.2081695,40 Z M30.3060182,49.6511909 C30.1108927,49.4573121 30.0128297,49.2027839 30.0128297,48.9482557 C30.0128297,48.6937276 30.1108927,48.4391994 30.3060182,48.2453205 C32.1221857,46.4407556 33.206883,43.3575844 33.206883,40 C33.206883,36.6424156 32.1221857,33.5592444 30.3060182,31.7546795 C30.1108927,31.5608006 30.0128297,31.3062724 30.0128297,31.0517443 C30.0128297,30.7972161 30.1108927,30.5426879 30.3060182,30.3488091 C30.6972697,29.9600571 31.3296762,29.9600571 31.7209277,30.3488091 C35.5984204,34.2015303 44.4401044,34.2015303 48.317597,30.3488091 C48.7088485,29.9600571 49.3412551,29.9600571 49.7325066,30.3488091 C49.927632,30.5426879 50.0256951,30.7972161 50.0256951,31.0517443 C50.0256951,31.3062724 49.927632,31.5608006 49.7325066,31.7546795 C47.9163391,33.5592444 46.8316418,36.6424156 46.8316418,40 C46.8316418,43.3575844 47.9163391,46.4407556 49.7325066,48.2453205 C49.927632,48.4391994 50.0256951,48.6937276 50.0256951,48.9482557 C50.0256951,49.2027839 49.927632,49.4573121 49.7325066,49.6511909 C49.5373812,49.8450698 49.2812165,49.9425064 49.0250518,49.9425064 C48.7688871,49.9425064 48.5127225,49.8450698 48.317597,49.6511909 C44.4401044,45.7984697 35.5984204,45.7984697 31.7209277,49.6511909 C31.3296762,50.0399429 30.6972697,50.0399429 30.3060182,49.6511909 L30.3060182,49.6511909 Z M66.0009649,40.0049713 C66.0009649,39.0783297 65.6377314,38.2073661 64.9783075,37.5521549 C64.2978701,36.8750702 63.403295,36.5380193 62.5097205,36.5380193 C61.6161461,36.5380193 60.721571,36.8750702 60.0411336,37.5521549 C58.6792581,38.9043358 58.6792581,41.1046125 60.0411336,42.4577876 C61.4020084,43.8099684 63.6154313,43.8109627 64.9783075,42.4577876 C65.6377314,41.8025764 66.0009649,40.9316128 66.0009649,40.0049713 L66.0009649,40.0049713 Z M66.3932171,43.863658 C65.3225288,44.9275062 63.916625,45.4594303 62.5097205,45.4594303 C61.1028161,45.4594303 59.6969123,44.9275062 58.626224,43.863658 C56.4838468,41.7359616 56.4838468,38.2739809 58.626224,36.1462845 C60.7686012,34.0165997 64.2528411,34.0185882 66.3932171,36.1462845 C68.5355943,38.2739809 68.5355943,41.7359616 66.3932171,43.863658 L66.3932171,43.863658 Z M20.9800229,40.027839 C20.9800229,39.1011974 20.6167894,38.2302339 19.9573654,37.5750227 C19.2979415,36.9198115 18.421378,36.5588985 17.4887785,36.5588985 C16.5571796,36.5588985 15.6806161,36.9198115 15.0201916,37.5750227 C14.3607676,38.2302339 13.9985348,39.1011974 13.9985348,40.027839 C13.9985348,40.9534864 14.3607676,41.8244499 15.0201916,42.4806553 C16.34004,43.7900834 18.6385176,43.7900834 19.9573654,42.4806553 C20.6167894,41.8244499 20.9800229,40.9534864 20.9800229,40.027839 L20.9800229,40.027839 Z M21.372275,43.8865257 C20.3015867,44.9503739 18.8956829,45.482298 17.4887785,45.482298 C16.0828747,45.482298 14.6769709,44.9503739 13.605282,43.8865257 C11.464906,41.7588294 11.464906,38.2968487 13.605282,36.1691523 C15.7476592,34.0414559 19.2308984,34.0414559 21.372275,36.1691523 C23.5136516,38.2968487 23.5136516,41.7588294 21.372275,43.8865257 L21.372275,43.8865257 Z M54.8958259,54.856093 C50.901258,58.8261358 45.5888428,61.0114987 39.9392109,61.0114987 C34.2875777,61.0114987 28.9761632,58.8261358 24.9815953,54.856093 C22.241834,52.134829 20.7338646,48.8826352 19.9513616,46.6346345 L18.0601458,47.2848744 C18.9116932,49.730731 20.5577514,53.273246 23.5666857,56.2619634 C27.9394968,60.607833 33.7532342,63 39.9392109,63 C46.124187,63 51.9379244,60.607833 56.3107355,56.2619634 C58.8373597,53.7534691 60.8496533,50.563913 61.9793796,47.2818917 L60.0861625,46.6376173 C59.0534987,49.6382657 57.2103138,52.5573856 54.8958259,54.856093 L54.8958259,54.856093 Z M19.9503609,33.3663597 L18.0611465,32.7141313 C19.2719248,29.2501621 21.229183,26.0606061 23.5726896,23.7330653 C27.9434994,19.3911728 33.7552355,17 39.9392109,17 C46.1231863,17 51.9349225,19.3911728 56.3047316,23.7330653 C58.7713173,26.1838931 60.8396469,29.4569662 61.9773783,32.7141313 L60.0881638,33.3663597 C59.0444929,30.3836078 57.1502752,27.3849479 54.889822,25.1389357 C50.898256,21.1718757 45.5878422,18.9885013 39.9392109,18.9885013 C34.289579,18.9885013 28.9801658,21.1718757 24.9875992,25.1389357 C22.8542277,27.2596723 21.0650775,30.181775 19.9503609,33.3663597 L19.9503609,33.3663597 Z'
3900+
id='AWS-Simple-Queue-Service_Icon_64_Squid'
3901+
fill='currentColor'
3902+
/>
3903+
</g>
3904+
</g>
3905+
</svg>
3906+
)
3907+
}
3908+
39053909
export function McpIcon(props: SVGProps<SVGSVGElement>) {
39063910
return (
39073911
<svg
@@ -4199,3 +4203,15 @@ export function RssIcon(props: SVGProps<SVGSVGElement>) {
41994203
</svg>
42004204
)
42014205
}
4206+
4207+
export function SpotifyIcon(props: SVGProps<SVGSVGElement>) {
4208+
return (
4209+
<svg {...props} viewBox='0 0 496 512' xmlns='http://www.w3.org/2000/svg'>
4210+
<path
4211+
fill='#1ed760'
4212+
d='M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8Z'
4213+
/>
4214+
<path d='M406.6 231.1c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3zm-31 76.2c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm-26.9 65.6c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4z' />
4215+
</svg>
4216+
)
4217+
}

0 commit comments

Comments
 (0)