Compare commits
3 Commits
04a6512a6b
...
feature/ci
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c517e9a861 | ||
|
|
b2bd5af0a6 | ||
|
|
65d85b6d5d |
41
.github/workflows/admin-web-tests.yml
vendored
41
.github/workflows/admin-web-tests.yml
vendored
@@ -1,41 +0,0 @@
|
||||
name: Admin Web Tests
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
node-version:
|
||||
type: string
|
||||
default: '22'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
runs-on: nas-runner
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
working-directory: admin-web
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
cache: 'npm'
|
||||
cache-dependency-path: admin-web/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Type check
|
||||
run: npx tsc --noEmit
|
||||
|
||||
- name: Run unit tests
|
||||
run: npx vitest run
|
||||
|
||||
- name: Install Playwright browsers
|
||||
run: npx playwright install --with-deps chromium
|
||||
|
||||
- name: Run E2E tests
|
||||
run: npx playwright test
|
||||
37
.github/workflows/ci.yml
vendored
37
.github/workflows/ci.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
# ── Path filter — determines which downstream jobs run ──
|
||||
changes:
|
||||
name: Detect Changes
|
||||
runs-on: nas-runner
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
admin-web: ${{ steps.filter.outputs.admin-web }}
|
||||
youtube-worker: ${{ steps.filter.outputs.youtube-worker }}
|
||||
@@ -38,16 +38,41 @@ jobs:
|
||||
name: Admin Web CI
|
||||
needs: changes
|
||||
if: needs.changes.outputs.admin-web == 'true'
|
||||
uses: ./.github/workflows/admin-web-tests.yml
|
||||
with:
|
||||
node-version: '22'
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: admin-web
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: admin-web/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Type check
|
||||
run: npx tsc --noEmit
|
||||
|
||||
- name: Run unit tests
|
||||
run: npx vitest run
|
||||
|
||||
- name: Install Playwright browsers
|
||||
run: npx playwright install --with-deps chromium
|
||||
|
||||
- name: Run E2E tests
|
||||
run: npx playwright test
|
||||
|
||||
# ── YouTube Worker: Node.js microservice ──
|
||||
youtube-worker-check:
|
||||
name: YouTube Worker
|
||||
needs: changes
|
||||
if: needs.changes.outputs.youtube-worker == 'true'
|
||||
runs-on: nas-runner
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: youtube-worker
|
||||
@@ -78,7 +103,7 @@ jobs:
|
||||
!contains(needs.*.result, 'failure') &&
|
||||
(needs.changes.outputs.supabase-functions == 'true' ||
|
||||
needs.changes.outputs.youtube-worker == 'true')
|
||||
runs-on: nas-runner
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
|
||||
37
.github/workflows/docker-admin-web.yml
vendored
37
.github/workflows/docker-admin-web.yml
vendored
@@ -14,12 +14,41 @@ concurrency:
|
||||
|
||||
jobs:
|
||||
admin-web-test:
|
||||
uses: ./.github/workflows/admin-web-tests.yml
|
||||
name: Admin Web Tests
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
working-directory: admin-web
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: 'npm'
|
||||
cache-dependency-path: admin-web/package-lock.json
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Type check
|
||||
run: npx tsc --noEmit
|
||||
|
||||
- name: Run unit tests
|
||||
run: npx vitest run
|
||||
|
||||
- name: Install Playwright browsers
|
||||
run: npx playwright install --with-deps chromium
|
||||
|
||||
- name: Run E2E tests
|
||||
run: npx playwright test
|
||||
|
||||
semantic-release:
|
||||
name: Semantic Release
|
||||
needs: admin-web-test
|
||||
runs-on: nas-runner
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
defaults:
|
||||
run:
|
||||
@@ -67,7 +96,7 @@ jobs:
|
||||
name: Build & Push Docker Image
|
||||
needs: semantic-release
|
||||
if: needs.semantic-release.outputs.released == 'true' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: nas-runner
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -101,7 +130,7 @@ jobs:
|
||||
name: Deploy to Portainer
|
||||
needs: [semantic-release, build-and-push]
|
||||
if: needs.semantic-release.outputs.released == 'true' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: nas-runner
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
23
.github/workflows/pr-iphone-deploy.yml
vendored
23
.github/workflows/pr-iphone-deploy.yml
vendored
@@ -8,9 +8,6 @@ on:
|
||||
pull_request:
|
||||
branches: [main]
|
||||
types: [opened, synchronize, reopened]
|
||||
paths:
|
||||
- 'tabatago-swift/**'
|
||||
- '.github/workflows/pr-iphone-deploy.yml'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -18,8 +15,28 @@ permissions:
|
||||
|
||||
jobs:
|
||||
|
||||
# ── Path filter — only run if tabatago-swift changed ──
|
||||
changes:
|
||||
name: Detect Changes
|
||||
runs-on: nas-runner
|
||||
outputs:
|
||||
tabatago-swift: ${{ steps.filter.outputs.tabatago-swift }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
tabatago-swift:
|
||||
- 'tabatago-swift/**'
|
||||
|
||||
build-deploy:
|
||||
name: Build & Deploy to iPhone (WiFi/USB)
|
||||
needs: changes
|
||||
if: needs.changes.outputs.tabatago-swift == 'true'
|
||||
runs-on: macos
|
||||
timeout-minutes: 20
|
||||
|
||||
|
||||
5501
admin-web/package-lock.json
generated
5501
admin-web/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user