Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
5b8c68d
Update Next.js to 15.5.12 to fix vulnerability
ryanleeallred Feb 6, 2026
feb4112
Add pizza-party platform deployment for dev environment
ryanleeallred Feb 11, 2026
c74f312
Switch from composite action to reusable workflow for deploy
ryanleeallred Feb 12, 2026
0bd69bb
Inline deploy workflow for public repo compatibility
ryanleeallred Feb 12, 2026
c6a8941
Use node:20-alpine in Dockerfile
ryanleeallred Feb 12, 2026
5ebb03a
Copy source.config.ts into deps stage for fumadocs-mdx postinstall
ryanleeallred Feb 12, 2026
8044347
Add empty public directory for Dockerfile COPY step
ryanleeallred Feb 12, 2026
69cd37a
Add ECR repository auto-creation step
ryanleeallred Feb 12, 2026
3543dd0
Map dev branch to pizza-dev environment
ryanleeallred Feb 13, 2026
6cb71b0
Fix networking config to use exposure/hostname for proper ingress
ryanleeallred Feb 13, 2026
4493a84
Add debug output for generated values and ingress status
ryanleeallred Feb 13, 2026
ebe6350
Use docs.subquadratic.ai as the ingress hostname
ryanleeallred Feb 13, 2026
3ea24cb
Add cert-manager diagnostics to verify step
ryanleeallred Feb 13, 2026
2d9ac7b
Create letsencrypt-prod ClusterIssuer if missing
ryanleeallred Feb 13, 2026
d9fb39f
Switch deploy branch from dev to prod
ryanleeallred Feb 13, 2026
3384c16
copy change test to prod branch to test CI/CD
ryanleeallred Feb 13, 2026
6b25927
remove stupid change that I made to test the CI/CD.
ryanleeallred Feb 13, 2026
4a98b23
Deploy main branch to pizza-dev (docs.subquadratic.ai)
ryanleeallred Feb 13, 2026
d6480b7
Add .wrangler to .gitignore
Dickson-Mwendia Feb 15, 2026
21e267e
Delete .wrangler directory
Dickson-Mwendia Feb 15, 2026
ca3b334
Delete wrangler.toml
Dickson-Mwendia Feb 15, 2026
12736d8
Create Aldea docs
Dickson-Mwendia Feb 27, 2026
2296db9
doc updates
Dickson-Mwendia Mar 2, 2026
0b841e3
restructure home and landing page
Dickson-Mwendia Mar 2, 2026
d8c6678
Update Next.js from 15.5.4 to 15.5.12 to address security vulnerabili…
ryanleeallred Mar 5, 2026
927d80f
Fix all npm vulnerabilities via npm audit fix
ryanleeallred Mar 5, 2026
e306319
Add conceptiul documentation
Dickson-Mwendia Mar 6, 2026
f36e1fa
conceptual content updates
Dickson-Mwendia Mar 8, 2026
9db57d7
doc updates
Dickson-Mwendia Mar 10, 2026
f3d1257
Merge branch 'staging' into create-aldea-docs
Dickson-Mwendia Mar 10, 2026
f00d53a
update transcript formatting docs
Dickson-Mwendia Mar 10, 2026
c954558
Merge branch 'create-aldea-docs' of https://github.com/Dickson-Mwendi…
Dickson-Mwendia Mar 10, 2026
38b67f8
Merge pull request #1 from Dickson-Mwendia/create-aldea-docs
Dickson-Mwendia Mar 10, 2026
959ab1b
Merge pull request #2 from subquadratic-ai/staging
ryanleeallred Mar 12, 2026
6cf5262
Content updates
Dickson-Mwendia Mar 13, 2026
beaccf4
Python SDK integration guide
Dickson-Mwendia Mar 13, 2026
0cf1f24
More updates to Python integration guides
Dickson-Mwendia Mar 13, 2026
7a41b79
Merge pull request #3 from Dickson-Mwendia/create-aldea-docs
Dickson-Mwendia Mar 13, 2026
9199844
Merge branch 'staging' of https://github.com/aldea-ai/docs
Dickson-Mwendia Mar 18, 2026
5b5e4c8
update navigation
Dickson-Mwendia Mar 18, 2026
a7155b1
Merge pull request #4 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 18, 2026
4f1963b
fix busted nav entry
Dickson-Mwendia Mar 18, 2026
140d73c
Merge pull request #5 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 18, 2026
27a3941
Merge pull request #1 from subquadratic-ai/staging
Dickson-Mwendia Mar 18, 2026
1c692f0
Create Aldea docs
Dickson-Mwendia Mar 20, 2026
8139682
Update guidance
Dickson-Mwendia Mar 20, 2026
7775bf2
Add tab URL sync and persistence
Dickson-Mwendia Mar 20, 2026
d631cf7
Ensure andchor tabs persist across pages
Dickson-Mwendia Mar 20, 2026
77b2b11
remove duplication across some tabs
Dickson-Mwendia Mar 20, 2026
0d6af49
Merge pull request #6 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 20, 2026
2662e83
Fix busted links
Dickson-Mwendia Mar 20, 2026
f292b7c
Merge pull request #8 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 20, 2026
d16647a
Use Aldea hosted sample audio
Dickson-Mwendia Mar 20, 2026
5915b35
Merge pull request #9 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 20, 2026
abd12dc
Update typography to align with new style guide for subq.ai.
gengwang Mar 20, 2026
967df54
Update SubQ logos.
gengwang Mar 20, 2026
05df6e2
Update documentation to reflect rebranding from Aldea to SubQ, includ…
gengwang Mar 20, 2026
703c062
Remove gradient background from HeroBanner to alignment with design s…
gengwang Mar 20, 2026
376b6b2
Address doc issues
Dickson-Mwendia Mar 25, 2026
4bc4dc1
Merge pull request #11 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 25, 2026
1e4463e
Address issues flagged by Fowel
Dickson-Mwendia Mar 25, 2026
4704fa0
Merge pull request #13 from Dickson-Mwendia/doc-updates
Dickson-Mwendia Mar 25, 2026
3227316
Merge pull request #7 from subquadratic-ai/staging
ryanleeallred Mar 25, 2026
b428e17
Merge branch 'main' of https://github.com/aldea-ai/docs
Dickson-Mwendia Mar 26, 2026
0fa0476
Update real-time streaming transcription samples
Dickson-Mwendia Mar 26, 2026
22b71c9
Merge origin/main into feat/rebrand-subq
gengwang Mar 26, 2026
ca74b40
Update SubQ logos.
gengwang Mar 26, 2026
9bd1253
Merge pull request #14 from subquadratic-ai/feat/rebrand-subq
gengwang Mar 27, 2026
5cf04c7
Add browser docs and fix rebranding merge conflicts
Dickson-Mwendia Mar 30, 2026
026c029
more rebranding updates
Dickson-Mwendia Mar 30, 2026
edcc26c
Address PR review feedback
Dickson-Mwendia Mar 30, 2026
c488c4d
Merge pull request #15 from Dickson-Mwendia/subq-doc-updates
Dickson-Mwendia Mar 30, 2026
a591177
Fix path typo causing build error
Dickson-Mwendia Mar 30, 2026
4cd1bac
Merge pull request #17 from Dickson-Mwendia/subq-doc-updates
Dickson-Mwendia Mar 30, 2026
49d723a
update image path
Dickson-Mwendia Mar 30, 2026
75bf819
Merge pull request #18 from Dickson-Mwendia/subq-doc-updates
Dickson-Mwendia Mar 30, 2026
a5fc2ba
Merge pull request #16 from subquadratic-ai/staging
ryanleeallred Mar 30, 2026
5edebf8
STT documentation for mobile platforms
Dickson-Mwendia Apr 2, 2026
34c91b0
Update docs + add rebranded image
Dickson-Mwendia Apr 3, 2026
524db76
Merge pull request #19 from Dickson-Mwendia/mobile-sdk-docs
Dickson-Mwendia Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 185 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
name: Deploy
on:
push:
branches: [main, staging]
workflow_dispatch:

concurrency:
group: deploy-${{ github.ref_name }}
cancel-in-progress: true

env:
AWS_REGION: us-east-1

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Free Disk Space
run: |
rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL 2>/dev/null || true
docker image prune -af 2>/dev/null || true

- name: Checkout service
uses: actions/checkout@v4

- name: Checkout platform
uses: actions/checkout@v4
with:
repository: subquadratic-ai/pizza-party
path: .platform
token: ${{ secrets.PLATFORM_TOKEN }}

- name: Setup
id: setup
run: |
mkdir -p "$HOME/.local/bin"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
export PATH="$HOME/.local/bin:$PATH"

if ! command -v yq &>/dev/null; then
wget -qO "$HOME/.local/bin/yq" https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
chmod +x "$HOME/.local/bin/yq"
fi

# Determine environment from branch
case "${{ github.ref_name }}" in
main) ENV="pizza-dev" ;;
staging) ENV="staging" ;;
*) ENV="pizza-dev" ;;
esac
echo "environment=$ENV" >> $GITHUB_OUTPUT
echo "cluster=$ENV-cluster" >> $GITHUB_OUTPUT

SERVICE=$(yq '.service.name // .service // "app"' platform.yaml)
echo "service=$SERVICE" >> $GITHUB_OUTPUT

SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-7)
echo "image_tag=$ENV-$SHORT_SHA-$(date +%Y%m%d%H%M%S)" >> $GITHUB_OUTPUT

echo "Service: $SERVICE"
echo "Environment: $ENV"

- name: Configure AWS (ECR)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/GitHubActionsECR
aws-region: ${{ env.AWS_REGION }}

- name: Login to ECR
id: ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Create ECR Repository (if not exists)
run: |
SERVICE="${{ steps.setup.outputs.service }}"
if ! aws ecr describe-repositories --repository-names "$SERVICE" 2>/dev/null; then
aws ecr create-repository \
--repository-name "$SERVICE" \
--image-scanning-configuration scanOnPush=true \
--encryption-configuration encryptionType=AES256
aws ecr put-lifecycle-policy \
--repository-name "$SERVICE" \
--lifecycle-policy-text '{"rules":[{"rulePriority":1,"description":"Keep last 20 images","selection":{"tagStatus":"any","countType":"imageCountMoreThan","countNumber":20},"action":{"type":"expire"}}]}'
fi

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build & Push
uses: docker/build-push-action@v5
with:
context: .
push: true
build-args: |
GIT_SHA=${{ github.sha }}
GIT_BRANCH=${{ github.ref_name }}
tags: ${{ steps.ecr.outputs.registry }}/${{ steps.setup.outputs.service }}:${{ steps.setup.outputs.image_tag }}
cache-from: type=gha
cache-to: type=gha,mode=max

- name: Configure AWS (EKS)
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/GitHubActionsEKS-${{ steps.setup.outputs.environment }}
aws-region: ${{ env.AWS_REGION }}

- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Setup Tools
run: |
mkdir -p "$HOME/.local/bin"

if ! command -v kubectl &>/dev/null; then
curl -sLO "https://dl.k8s.io/release/v1.29.0/bin/linux/amd64/kubectl"
chmod +x kubectl && mv kubectl "$HOME/.local/bin/"
fi

if ! command -v helm &>/dev/null; then
export HELM_INSTALL_DIR="$HOME/.local/bin"
export USE_SUDO="false"
curl -s https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
fi

aws eks update-kubeconfig --region ${{ env.AWS_REGION }} --name ${{ steps.setup.outputs.cluster }}

- name: Ensure ClusterIssuer
run: |
if ! kubectl get clusterissuer letsencrypt-prod &>/dev/null; then
echo "Creating letsencrypt-prod ClusterIssuer..."
kubectl apply -f - <<'YAML'
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: platform@subquadratic.ai
privateKeySecretRef:
name: letsencrypt-prod-account-key
solvers:
- http01:
ingress:
class: nginx
YAML
else
echo "ClusterIssuer letsencrypt-prod already exists"
fi

- name: Generate Values & Deploy
run: |
python3 -c "import yaml" 2>/dev/null || pip install pyyaml

python3 .platform/platform/scripts/generate_values.py \
--config platform.yaml \
--environment ${{ steps.setup.outputs.environment }} \
--image ${{ steps.ecr.outputs.registry }}/${{ steps.setup.outputs.service }}:${{ steps.setup.outputs.image_tag }} \
--output values.yaml

helm upgrade --install \
${{ steps.setup.outputs.service }} \
.platform/platform/charts/service \
--namespace ${{ steps.setup.outputs.service }} \
--create-namespace \
--values values.yaml \
--wait \
--timeout 30m \
--qps 50 \
--burst-limit 200

echo "Deployed ${{ steps.setup.outputs.service }} to ${{ steps.setup.outputs.environment }}"

- name: Verify
run: |
kubectl wait --for=condition=ready pod \
-l app.kubernetes.io/name=${{ steps.setup.outputs.service }} \
-n ${{ steps.setup.outputs.service }} \
--timeout=300s
echo "Pods ready!"
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
.contentlayer
.content-collections
.source
.wrangler/
.wrangler/**

# test & build
/coverage
Expand All @@ -26,4 +28,4 @@ yarn-error.log*
.env*.local
.vercel
next-env.d.ts
.open-next
.open-next
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading