build-container / build (push) Successful in 6m44s
- signal.js: talks to signal-cli-rest-api (a linked device of your Signal account); keeps conversations in /data/signal; live updates; send/receive text, files, replies, reactions, groups, receipts - Signal tab and a floating chat panel on every screen, shown only on desktop-class windows; new Signal permission per person - compose: signal bridge container sharing the hub's network - tools/signal-test.js (fake bridge), README Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
74 lines
2.5 KiB
YAML
74 lines
2.5 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/signal-test.js # Signal: linking, messages, sending, live updates
|
|
- 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 }}
|