name: Specs security on: push: branches: [develop, main] pull_request: types: [opened, synchronize, reopened] schedule: - cron: '17 5 * * *' concurrency: group: specs-security-${{ gitea.event_name }}-${{ gitea.event.pull_request.number || gitea.ref }} cancel-in-progress: true jobs: security: runs-on: ubuntu-latest steps: - uses: https://github.com/actions/checkout@v4 with: fetch-depth: 0 - name: Record checked revision run: git rev-parse HEAD - name: Scan history with Gitleaks 8.30.1 run: | curl --fail --location --silent --show-error https://github.com/gitleaks/gitleaks/releases/download/v8.30.1/gitleaks_8.30.1_linux_x64.tar.gz -o /tmp/gitleaks.tar.gz echo '551f6fc83ea457d62a0d98237cbad105af8d557003051f41f3e7ca7b3f2470eb /tmp/gitleaks.tar.gz' | sha256sum --check mkdir -p /tmp/gitleaks-bin tar -xzf /tmp/gitleaks.tar.gz -C /tmp/gitleaks-bin gitleaks /tmp/gitleaks-bin/gitleaks git --log-opts=--all --redact=100 --no-banner - uses: https://github.com/actions/setup-node@v4 with: node-version-file: .nvmrc - name: Audit runtime and development dependencies run: npm audit --include=dev --audit-level=low