first commit
Release rolling / release (push) Has been cancelled
CI / test (push) Has been cancelled

This commit is contained in:
Raven Scott
2026-07-18 16:17:38 -04:00
commit 015d92a257
70 changed files with 10033 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
name: CI
on:
push:
branches: [main, master]
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
NODE_OPTIONS: '--dns-result-order=ipv4first'
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
timeout-minutes: 10
env:
GIT_TERMINAL_PROMPT: '0'
npm_config_fetch_retries: '3'
npm_config_fetch_timeout: '120000'
run: |
set -euo pipefail
git config --global url."https://github.com/".insteadOf "ssh://[email protected]/"
git config --global url."https://github.com/".insteadOf "[email protected]:"
npm install --no-audit --no-fund --loglevel=info
- name: Test
run: npm test
- name: Healthcheck script loads
run: node scripts/healthcheck.js
+75
View File
@@ -0,0 +1,75 @@
# Rolling release for Gitea (mirrors peardock-style forge pipelines).
# Runs on every push to main/master — always rebuilds and republishes the `rolling` tag.
#
# Secrets:
# RELEASE_TOKEN — Gitea PAT with repo release write (required)
# GITEA_URL — optional forge base URL (defaults to origin / GITHUB_SERVER_URL)
name: Release rolling
on:
push:
branches: [main, master]
workflow_dispatch:
inputs:
dry_run:
description: 'Build artifacts without uploading'
required: false
default: 'false'
concurrency:
group: release-rolling
cancel-in-progress: true
env:
NODE_OPTIONS: '--dns-result-order=ipv4first'
jobs:
release:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install + test
timeout-minutes: 15
env:
GIT_TERMINAL_PROMPT: '0'
npm_config_fetch_retries: '3'
npm_config_fetch_timeout: '120000'
run: |
set -euo pipefail
git config --global url."https://github.com/".insteadOf "ssh://[email protected]/"
git config --global url."https://github.com/".insteadOf "[email protected]:"
npm install --no-audit --no-fund
SKIP_INTEGRATION=1 npm test
- name: Build + publish rolling release
env:
RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GITEA_URL: ${{ secrets.GITEA_URL }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_SERVER_URL: ${{ github.server_url }}
GITHUB_SHA: ${{ github.sha }}
GITEA_SHA: ${{ github.sha }}
RELEASE_TAG: rolling
DRY_RUN: ${{ github.event.inputs.dry_run == 'true' && '1' || '0' }}
run: |
set -euo pipefail
if [ "${DRY_RUN:-0}" != "1" ] && [ -z "${RELEASE_TOKEN:-}" ]; then
echo "ERROR: secret RELEASE_TOKEN is not set"
exit 1
fi
if [ -n "${GITHUB_REPOSITORY:-}" ]; then
export GITEA_OWNER="${GITHUB_REPOSITORY%%/*}"
export GITEA_REPO="${GITHUB_REPOSITORY#*/}"
fi
if [ -z "${GITEA_URL:-}" ]; then
export GITEA_URL="${GITHUB_SERVER_URL:-}"
fi
chmod +x scripts/gitea-rolling-release.sh scripts/release.sh
bash scripts/gitea-rolling-release.sh