Skip to content

feat(http): edge worker secure CORS and CSP response header generator #173

feat(http): edge worker secure CORS and CSP response header generator

feat(http): edge worker secure CORS and CSP response header generator #173

Workflow file for this run

name: Knip
on:
workflow_call:
inputs:
package-manager:
description: "Package manager to use ('bun' or 'yarn')"
required: false
default: "bun"
type: string
bun-version:
description: "Bun version (when using bun)"
required: false
default: "latest"
type: string
node-version:
description: "Node.js version (when using yarn)"
required: false
default: "20"
type: string
pull_request:
workflow_dispatch:
jobs:
run-knip:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Bun
if: ${{ inputs.package-manager == 'bun' || inputs.package-manager == '' }}
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ inputs.bun-version || 'latest' }}
- name: Setup Node
if: ${{ inputs.package-manager == 'yarn' }}
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version || '20' }}
cache: "yarn"
- name: Install toolchain (Bun)
if: ${{ inputs.package-manager == 'bun' || inputs.package-manager == '' }}
run: bun install
- name: Install toolchain (Yarn)
if: ${{ inputs.package-manager == 'yarn' }}
run: yarn install --immutable
- name: Store PR number
run: echo ${{ github.event.number || github.event.pull_request.number || 0 }} > pr-number.txt
- name: Run Knip (Bun)
if: ${{ inputs.package-manager == 'bun' || inputs.package-manager == '' }}
run: bun run knip || bun run knip --reporter json > knip-results.json
- name: Run Knip (Yarn)
if: ${{ inputs.package-manager == 'yarn' }}
run: yarn knip || yarn knip --reporter json > knip-results.json
- name: Upload knip result
if: failure()
uses: actions/upload-artifact@v4
with:
name: knip-results
path: |
knip-results.json
pr-number.txt