Skip to content

chore(deps): consolidate 19 dependabot PRs into one #247

chore(deps): consolidate 19 dependabot PRs into one

chore(deps): consolidate 19 dependabot PRs into one #247

name: security-deps
on:
push:
branches: [main]
paths:
- "apps/ui/**"
- ".github/workflows/apps-ui-security-deps.yml"
pull_request:
branches: [main]
schedule:
- cron: "23 6 * * 1"
concurrency:
group: apps-ui-security-deps-security-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
security-events: write
jobs:
scan:
name: dep vuln scan (osv + audit)
defaults:
run:
working-directory: apps/ui
runs-on: ubuntu-latest
timeout-minutes: 10
env:
OSV_SCANNER_VERSION: "2.3.8"
OSV_SCANNER_SHA256: "bc98e15319ed0d515e3f9235287ba53cdc5535d576d24fd573978ecfe9ab92dc"
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Detect relevant changes
uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: filter
with:
filters: |
code:
- 'apps/ui/**'
- '.github/workflows/apps-ui-security-deps.yml'
- name: Install osv-scanner CLI
if: steps.filter.outputs.code == 'true'
run: |
set -euo pipefail
curl -sSL -o /tmp/osv-scanner \
"https://github.com/google/osv-scanner/releases/download/v${OSV_SCANNER_VERSION}/osv-scanner_linux_amd64"
echo "${OSV_SCANNER_SHA256} /tmp/osv-scanner" | sha256sum -c -
chmod +x /tmp/osv-scanner
sudo mv /tmp/osv-scanner /usr/local/bin/
osv-scanner --version
- name: Run osv-scanner
if: steps.filter.outputs.code == 'true'
run: |
set +e
osv-scanner \
--config=osv-scanner.toml \
--lockfile=bun.lock \
--format=sarif \
--output-file=osv-results.sarif
echo "OSV_EXIT=$?" >> "$GITHUB_ENV"
set -e
- name: Upload osv SARIF
if: always()
uses: github/codeql-action/upload-sarif@7c1e4cf0b20d7c1872b26569c00ba908797a59bf # v4
with:
sarif_file: osv-results.sarif
category: osv-scanner-ui
continue-on-error: true
- name: Fail on osv findings
if: steps.filter.outputs.code == 'true'
run: |
if [ "${OSV_EXIT:-0}" != "0" ]; then
echo "osv-scanner exited ${OSV_EXIT} — see SARIF in the Security tab."
exit 1
fi
- name: Set up Bun
if: steps.filter.outputs.code == 'true'
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: 1.3.14
- name: bun audit
if: steps.filter.outputs.code == 'true'
run: bun audit --audit-level high