ci(gitea): shared composite actions + pipeline generator for Gitea Actions

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AqpXh3hQMMaC74pTjFq4it

Gitea 1.25 cannot run reusable workflows (workflow_call), so the logic of
deploy-app.yml, smoke.yml and ci.yml moves into composite actions under
.gitea/actions/, and each repo gets a thin pipeline rendered by
tools/gitea-pipeline/render.py from repos.json. .github/workflows is left
untouched (Gitea ignores it once .gitea/workflows exists).
This commit is contained in:
peptiderepo-ops
2026-10-24 09:27:30 +00:00
parent 59099e1135
commit 8a998e7f1e
11 changed files with 747 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
name: CI - JS lint
description: >-
npm run lint if the repo declares it, else node --check on every *.js
(Gitea port of lint-js). Node 22: the GitHub job used Node 20, which is
end-of-life.
runs:
using: composite
steps:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
cache: npm
- name: Install npm dependencies
shell: bash
run: npm ci
- name: Lint JavaScript
shell: bash
run: |
if node -e "process.exit(require('./package.json').scripts?.lint ? 0 : 1)" 2>/dev/null; then
echo "npm run lint script found - running it."
npm run lint
else
echo "No 'lint' npm script - running node --check syntax scan."
find . -name '*.js' \
-not -path './vendor/*' \
-not -path './node_modules/*' \
-not -path './.git/*' \
-not -path './.peptide-e2e/*' \
-print0 | xargs -0 -r -I{} node --check {}
fi