Skip to content

RedPaste: pastebin + diff checker with optional end-to-end encryption #1

RedPaste: pastebin + diff checker with optional end-to-end encryption

RedPaste: pastebin + diff checker with optional end-to-end encryption #1

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
contents: read
jobs:
backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.25"
check-latest: true
# web/dist must exist for go:embed; a placeholder is committed, but build
# the real frontend so the embed matches what ships.
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: npm --prefix web install
- run: npm --prefix web run build
- run: go build ./...
- run: go vet ./...
- run: go test ./...
- run: go test -race ./...
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: npm --prefix web install
- run: npm --prefix web run typecheck
- run: npm --prefix web run build
secret-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}