name: Frontend Actions run-name: ${{ gitea.actor }} is running frontend actions on: [push] jobs: check: runs-on: ubuntu-latest defaults: run: working-directory: ./ui steps: - uses: actions/checkout@v4 - name: Load Cache uses: actions/cache@v4 with: path: | ui/node_modules key: ${{ runner.os }}-node-check-${{ hashFiles('ui/package-lock.json') }} - uses: actions/setup-node@v4 with: node-version: '24' - name: Install Dependencies run: npm ci - name: Run Eslint run: npm run lint - name: Run Prettier run: npm run fmt -- . --check build: runs-on: ubuntu-latest defaults: run: working-directory: ./ui steps: - uses: actions/checkout@v4 - name: Load Cache uses: actions/cache@v4 with: path: | ui/node_modules key: ${{ runner.os }}-node-build-${{ hashFiles('ui/package-lock.json') }} - uses: actions/setup-node@v4 with: node-version: '24' - run: node --version - name: Install Dependencies run: npm ci - name: Build UI run: npm run build test: runs-on: ubuntu-latest defaults: run: working-directory: ./ui steps: - uses: actions/checkout@v4 - name: Load Cache uses: actions/cache@v4 with: path: | ui/node_modules key: ${{ runner.os }}-node-test-${{ hashFiles('ui/package-lock.json') }} - uses: actions/setup-node@v4 with: node-version: '24' - run: node --version - name: Install Dependencies run: npm ci - name: Run tests run: npm run test