name: Dependabot Automerge on: pull_request_target: types: [opened, synchronize, reopened] permissions: pull-requests: write contents: write checks: read jobs: security-scan: name: Security Vulnerability Scan if: ${{ github.actor == 'dependabot[bot]' }} uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@375a0e8ebdc98e99b02ac4338a724f5750f21213" # v2.3.1 with: scan-args: |- -r --skip-git --lockfile=pnpm-lock.yaml --lockfile=src-tauri/Cargo.lock --lockfile=nodecar/pnpm-lock.yaml ./ permissions: security-events: write contents: read actions: read lint-js: name: Lint JavaScript/TypeScript if: ${{ github.actor == 'dependabot[bot]' }} uses: ./.github/workflows/lint-js.yml secrets: inherit permissions: contents: read lint-rust: name: Lint Rust if: ${{ github.actor == 'dependabot[bot]' }} uses: ./.github/workflows/lint-rs.yml secrets: inherit permissions: contents: read codeql: name: CodeQL uses: ./.github/workflows/codeql.yml secrets: inherit permissions: security-events: write contents: read packages: read actions: read spellcheck: name: Spell Check uses: ./.github/workflows/spellcheck.yml secrets: inherit permissions: contents: read dependabot-automerge: name: Dependabot Automerge if: ${{ github.actor == 'dependabot[bot]' }} needs: [security-scan, lint-js, lint-rust, codeql, spellcheck] runs-on: ubuntu-latest steps: - name: Dependabot metadata id: metadata uses: dependabot/fetch-metadata@08eff52bf64351f401fb50d4972fa95b9f2c2d1b #v2.4.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Enable auto-merge for minor and patch updates if: ${{ steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch' }} run: gh pr merge --auto --squash "$PR_URL" env: PR_URL: ${{ github.event.pull_request.html_url }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} timeout-minutes: 10