Skip to content

style(guild): restyle Server Info section to match card design #962

style(guild): restyle Server Info section to match card design

style(guild): restyle Server Info section to match card design #962

name: ci
on:
pull_request:
branches:
- main
- release
push:
branches:
- main
merge_group:
branches:
- main
# cancel in-progress runs on new commits to same PR (gitub.event.number)
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true
permissions:
contents: read
jobs:
lint:
name: 🔠 Lint project
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
run-install: false
- name: 📦 Install dependencies (root only, no scripts)
run: vp install --filter . --ignore-scripts
- name: 🔠 Lint project
run: vp run lint
unit:
name: 🧪 Unit tests
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
cache: true
- name: 🧪 Unit tests
run: vp test --project unit --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml
- name: ⬆︎ Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
test:
name: 🧪 Component tests
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
cache: true
- name: 🌐 Install browser
run: vp exec playwright install chromium-headless-shell
- name: 🧪 Component tests
run: vp test --project nuxt --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml
env:
NODE_OPTIONS: --max-old-space-size=8192
- name: ⬆︎ Upload coverage reports to Codecov
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
with:
report_type: test_results
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: ⬆︎ Upload coverage reports to Codecov
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
browser:
name: 🖥️ Browser tests
runs-on: ubuntu-24.04-arm
container:
image: mcr.microsoft.com/playwright:v1.58.2-noble
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
cache: true
- name: 🔼 Generate Prisma Client
run: vp run prisma:generate
- name: 🏗️ Build project
run: vp run build:test
env:
VALIDATE_HTML: true
NODE_OPTIONS: --max-old-space-size=4096
NUXT_PUBLIC_SITE_URL: https://wolfstar.rocks
NUXT_SESSION_PASSWORD: ci-test-session-password-at-least-32-characters-long
- name: 🖥️ Test project (browser)
run: vp run test:browser:prebuilt
env:
NUXT_SESSION_PASSWORD: ci-test-session-password-at-least-32-characters-long
benchmark:
name: ⚡ Benchmarks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
cache: true
- name: ⚡ Run benchmarks
uses: CodSpeedHQ/action@4deb3275dd364fb96fb074c953133d29ec96f80f
with:
mode: simulation
run: vp run test:bench
a11y:
name: ♿ Accessibility audit
runs-on: ubuntu-latest # See https://github.com/GoogleChrome/lighthouse/discussions/16834
strategy:
matrix:
mode: [dark, light]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
cache: true
- name: 🔼 Generate Prisma Client
run: vp run prisma:generate
- name: 🏗️ Build project
run: vp run build:test
env:
NUXT_PUBLIC_SITE_URL: https://wolfstar.rocks
NUXT_SESSION_PASSWORD: ci-test-session-password-at-least-32-characters-long
- name: ♿ Accessibility audit (Lighthouse - ${{ matrix.mode }} mode)
run: vp run test:a11y:prebuilt
env:
LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
LIGHTHOUSE_COLOR_MODE: ${{ matrix.mode }}
NUXT_SESSION_PASSWORD: ci-test-session-password-at-least-32-characters-long
knip:
name: 🧹 Unused code check
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: voidzero-dev/setup-vp@8ecb39174989ce55af90f45cf55b02738599831d # v1.6.0
with:
node-version: lts/*
cache: true
- name: 🧹 Check for unused code
run: vp run knip