Files
frontend-svelte/.gitea/workflows/workflow.yml
2026-01-14 16:02:24 +03:00

62 lines
1.7 KiB
YAML

name: Workflow
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
workflow_dispatch:
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: '25'
# We handle caching manually below to ensure
# corepack-managed yarn is used correctly.
- name: Enable Corepack
run: |
corepack enable
corepack prepare yarn@stable --activate
# - name: Get yarn cache directory path
# id: yarn-cache-dir-path
# run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
# - name: Persistent Yarn Cache
# uses: actions/cache@v4
# id: yarn-cache
# with:
# path: ${{ github.workspace }}/.yarn/cache
# key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
# restore-keys: ${{ runner.os }}-yarn-
#
- name: Persistent Yarn Cache
uses: actions/cache@v4
id: yarn-cache
with:
# In Yarn Berry, the cache is local to the project
path: .yarn/cache
# Ensure a clean key without hidden newline characters
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: ${{ runner.os }}-yarn-
- name: Install dependencies
# --immutable ensures the lockfile isn't changed (replaces --frozen-lockfile)
run: yarn install --immutable
- name: Build Svelte App
run: yarn build
- name: Lint
run: yarn lint
- name: Type Check
run: yarn check:shadcn-excluded