Files
hub/.gitea/workflows/build.yml
T
nmemmertandClaude Sonnet 5.5 7823bbcb03
build-container / build (push) Successful in 6m58s
Webmail is now Cypht (several accounts in one place) instead of Roundcube
- cypht/: official Cypht 2.13.0 on a SQLite file, served under /webmail/; workflow builds git.necloud.us/nate/hub-cypht
- the hub passes /webmail/ through behind the passkey sign-in and signs in to Cypht for you (CYPHT_PASSWORD)
- provider sign-in pages (Google, Microsoft) open in the whole window and return to the Mail tab; other links open in a new tab
- Gmail / Outlook.com / Office365 OAuth settings (Microsoft permissions patched to the current ones)
- Roundcube removed; README, compose and webmail tests updated

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 09:28:50 -04:00

73 lines
2.4 KiB
YAML

name: build-container
on:
push:
branches: [main]
tags: ['v*']
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Start the real server and call every endpoint; a missing function or a crash stops the build here.
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: node tools/smoke-test.js
- run: node tools/users-test.js # accounts: private data, tab limits, invites, migration
- run: node tools/plex-test.js # Plex sign-in stays signed in and repairs itself
- run: node tools/player-test.js # music player: queue, shuffle/repeat, stall recovery
- run: node tools/webmail-test.js # the /webmail/ pass-through to the bundled webmail (Cypht)
- uses: docker/setup-buildx-action@v3
# Repo secrets needed (Settings -> Actions -> Secrets):
# REGISTRY_TOKEN a Gitea access token with write:package scope
# REGISTRY_USER optional; defaults to the user who pushed
- uses: docker/login-action@v3
with:
registry: git.necloud.us
username: ${{ secrets.REGISTRY_USER || gitea.actor }}
password: ${{ secrets.REGISTRY_TOKEN }}
- id: meta
uses: docker/metadata-action@v5
with:
images: git.necloud.us/nate/hub
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=sha,format=short
type=ref,event=tag
- uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=git.necloud.us/nate/hub:buildcache
cache-to: type=registry,ref=git.necloud.us/nate/hub:buildcache,mode=max
# The webmail container (official Cypht + the hub's settings)
- id: meta_rc
uses: docker/metadata-action@v5
with:
images: git.necloud.us/nate/hub-cypht
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=sha,format=short
type=ref,event=tag
- uses: docker/build-push-action@v6
with:
context: ./cypht
platforms: linux/amd64
push: true
tags: ${{ steps.meta_rc.outputs.tags }}
labels: ${{ steps.meta_rc.outputs.labels }}