Files
naxos-ui/.gitea/workflows/ci.yaml
T
2026-09-04 09:04:40 +02:00

60 lines
1.8 KiB
YAML

name: CI & Build NaxOS Web Dashboard
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
permissions:
contents: write
packages: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Dependencies
run: npm ci || npm install
- name: Build Dashboard SPA
run: npm run build
- name: Publish Package to Gitea Packages
run: |
tar -czf naxos-ui-dist.tar.gz -C dist .
echo "Uploading naxos-ui-dist.tar.gz to Gitea Packages registry..."
TOKEN="${{ secrets.PACKAGE_TOKEN }}"
if [ -z "$TOKEN" ]; then
TOKEN="${{ secrets.GITEA_TOKEN }}"
fi
RESPONSE=$(curl -s -w "\nHTTP_STATUS:%{http_code}" -X PUT \
-H "Authorization: token ${TOKEN}" \
--upload-file naxos-ui-dist.tar.gz \
"${{ github.server_url }}/api/packages/naxos/generic/naxos-ui/1.0.0/naxos-ui-dist.tar.gz")
STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
BODY=$(echo "$RESPONSE" | grep -v "HTTP_STATUS:")
echo "Package upload HTTP status: $STATUS"
if [ "$STATUS" -eq 201 ] || [ "$STATUS" -eq 200 ] || [ "$STATUS" -eq 204 ]; then
echo "Successfully published naxos-ui-dist.tar.gz to Gitea Packages!"
elif [ "$STATUS" -eq 409 ]; then
echo "Package version 1.0.0 already published in Gitea Packages: $BODY"
else
echo "Failed to publish package to Gitea Packages ($STATUS): $BODY"
exit 1
fi
- name: Upload UI Assets Artifact
uses: actions/upload-artifact@v3
with:
name: naxos-ui-dist
path: dist/