Skip to content

V2.0.0 - Hybrid Development #965

V2.0.0 - Hybrid Development

V2.0.0 - Hybrid Development #965

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
check:
name: Check
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: v2.7.7
- name: Cache Deno dependencies
uses: actions/cache@v5
with:
path: |
~/.cache/deno
~/.deno
key: ${{ runner.os }}-deno-${{ hashFiles('deno.json', 'deno.lock') }}
restore-keys: |
${{ runner.os }}-deno-
- name: Scan for secrets
run: |
PATTERNS='(sk-[a-zA-Z0-9]{20,}|ghp_[a-zA-Z0-9]{36,}|AKIA[0-9A-Z]{16}|password\s*=\s*["\x27][^"\x27]+["\x27])'
MATCHES=$(grep -rEn "$PATTERNS" --include='*.ts' --include='*.js' --include='*.json' --include='*.yml' --include='*.yaml' --include='*.env' --exclude-dir=node_modules --exclude-dir=.git . || true)
if [ -n "$MATCHES" ]; then
echo "::error::Potential secrets detected in source files:"
echo "$MATCHES"
exit 1
fi
echo "No secrets detected."
- name: Format check
run: deno fmt --check
- name: Lint
run: deno lint
- name: Type check
run: deno check src/bin.ts
- name: Test
run: deno task test